У меня есть программа (.exe), которая получает определенную информацию с сервера, и я хотел бы получить эту информацию из командной строки. Я начал Netcat и прислушался к порту программа использует для связи с его мишенью, потому что я хотел бы знать, что «запросы», чтобы сделать из сценария, и я получил это по Netcat, простой текст:Получить ответ TCP от сервера
net.tcp://[my ip address]:41012/Lapis.Btouch/ServerInfo
I попробовал отправить именно это целевой (заменив мой IP для своего IP), используя socket.send(), но ничего не вернул. Что это значит и как я могу получить данные?
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('[server ip address]',41012))
while True:
s.send('net.tcp://[server ip address]:41012/Lapis.Btouch/ServerInfo')
response = s.recv(1024)
print response
s.close()
Это код, который я использую, чтобы отправить запрос на целевой сервер. Он ничего не вернет, поэтому я думаю, что я не делаю запрос правильно. Спасибо за любую помощь.
Какая ошибка вы получаете в настоящее время? Как цикл никогда не заканчивается? Кроме того, что возвращает s.connect? Успешно создано соединение сокета? –
Да, соединение установлено, но никакого ответа от сервера нет. Он просто остается открытым. –
Вы отправили правильный символ (и) сообщения, независимо от того, что они? (Может быть nuls, newline, возврат каретки, некоторая комбинация.) –