Ich versuche etwas zu tun wie:
echo "request" | nc -u 1.1.1.1 9999 > response.txt
Ich kann sehen, dass die Antwort vom Server (mit tcpdump
) kommt, nachdem diese Zeile ausgeführt wurde.
Meine response.txt bleibt jedoch leer.
Gibt es einen Weg, um es zu bekommen?
Antworten:
Netcat beginnt mit dem "Sprechen" von UDP (Standard ist TCP), indem die Befehlszeilenoption -u angegeben wird. Hier ist ein Beispiel für die Verbindung mit einem RFC 867-Zeitserver über UDP. Beachten Sie, dass zuerst die IP-Adresse oder der DNS-Name des anderen Hosts und dann die Portnummer angegeben werden - genau wie bei den meisten Telnet-Programmen. Nachdem die Verbindung hergestellt wurde, müssen Sie wahrscheinlich die Eingabetaste drücken, damit der Zeitserver Ihnen die aktuelle Uhrzeit sendet. (Vielleicht ist das dein Problem)
nc -u igor.alcpress.com 13
Do 15. September 14:41:57 2005
Da UDP kein verbindungsorientiertes Protokoll ist, bleibt die Verbindung "offen", bis Sie das Programm durch Drücken von Strg-C beenden.
================================================== ====================
Antwortet es, wenn Sie die Ausgabe nicht umleiten?
Versuchen :
echo "request" | nc -u 1.1.1.1 9999 | tee response.txt
quelle