Ich muss einen Client für ein proprietäres Protokoll entwickeln, und es wäre sehr nützlich, das Verhalten des vorhandenen Servers zu verstehen, indem ich ihm benutzerdefinierte Nachrichten sende und die Antwort betrachte. "Telnet" wäre für diesen Zweck perfekt, mit der Ausnahme, dass das Protokoll binär ist.
Derzeit habe ich die gewünschte Nachricht (mit einem Hex-Editor) in eine Datei geschrieben mymsg
und versuche, sie mit Netcat auf folgende Weise zu senden:
cat msg | netcat 127.0.0.1 1234
Mein Problem dabei ist, dass Netcat nur stoppt, nachdem es EOF erreicht hat, sodass ich nie die Antwort des Servers sehen kann. Irgendwelche Vorschläge?
(Natürlich kann man ein Mock-up des proprietären Servers mit ausführen nc -l -p 1234
)
-w
macht etwas anderes, es steht explizit "Wenn eine Verbindung und stdin länger als ... im Leerlauf sind", ist EOF nicht im Leerlauf.-i
auf der anderen Seite klingt es so, als wäre es einen Versuch wert: "Gibt ein Verzögerungszeitintervall zwischen gesendeten und empfangenen Textzeilen an."Ich habe mir dieses Python-Skript ausgedacht, um den Job zu erledigen.
quelle