Ich möchte, dass ein UDP-Echoserver Pakete abruft und genau das antwortet, was er erhalten hat. Wie kann ich das einfach mit netcat
oder machen socat
? Es sollte für immer am Leben bleiben und Pakete verarbeiten, die von mehreren Hosts stammen.
netcat
socat
echoserver
Mohammad Hedayati
quelle
quelle
Antworten:
Ein weiteres netcat-ähnliches Tool ist die nmap-Version,
ncat
die viele eingebaute Extras enthält, um solche Dinge zu vereinfachen. Das würde funktionieren:-e bedeutet, dass es / bin / cat ausführt (um das zurückzugeben, was Sie eingeben).
-k bedeutet, dass es nach jeder Verbindung lauscht.
-u bedeutet, dass udp
-l 1235 bedeutet, dass es Port 1235 abhört
quelle
Früher habe ich
socat -v PIPE udp-recvfrom:5553,fork
den Server undsocat - udp:localhost:5553
für Clients ausgeführt. Das war eine große Hilfe!quelle
socat TCP4-LISTEN:2000,fork EXEC:cat
Sie können auch socat (anstatt netcat) als Echoserver und netcat als Client verwenden.
Socat-Echoserver (lauscht auf TCP-Port 1234):
Netcat-Client (stellt über TCP-Port 1234 eine Verbindung zum Server-IP her):
quelle
Sie können ein C-Programm schreiben, das gabelt
nc -u -l -p 4321
und dann dup (2) verwendet , um eine Verbindung herzustellen :Dann liest der Elternteil in einer Endlosschleife aus stdin und schreibt in stdout, was auch immer der Elternteil liest.
quelle
socat -v PIPE UDP-LISTEN:5555,fork
, aber die zweite Verbindung wird abgelehnt. Übrigens funktioniert es gut mit TCP-LISTEN. Ich vermeide es zu codieren, sonst könnte ich alles in C schreiben.Wenn Sie unter Windows arbeiten und eine Unix-ähnliche Umgebung wie cygwin verwenden, stellt netcat migth den Parameter -e nicht zur Verfügung. Das hat gut funktioniert für mich.
http://bansky.net/echotool/
quelle
netcat
Lösung in Ubunutu vorinstalliertDas
netcat
in Ubuntu 16.04 vorinstallierte kommt vonnetcat-openbsd
und hat keine-c
Option, aber das Handbuch gibt eine Lösung:Dann Kundenbeispiel:
TODO: Wie ändere ich den Wert der Eingabezeichenfolge? Folgendes gibt keine Antwort zurück:
Das Remote-Shell-Beispiel funktioniert jedoch:
Ich weiß jedoch nicht, wie ich mit gleichzeitigen Anfragen umgehen soll.
quelle