Zu Testzwecken muss ich ein Shell-Skript erstellen, das eine Verbindung zu einem Remote-IP> -Port herstellt und eine einfache TCPIP-Socket-Textnachricht sendet.
shell-script
socket
tcp-ip
Bachalo
quelle
quelle
ctrl+c
wird das Ergebnis nicht angezeigt. Wenn Sie beispielsweise Echo verwenden,echo "cookie" | nc localhost 9090
wird der Ausgabestream des Clients geschlossen (eof gesendet), der Client wartet jedoch weiterhin auf das Ergebnis des Servers.Generell ist Rat mit dem
netcat
Weg besser.Aber in
bash
undksh
du kannst das auch machen:quelle
1>&3
? Ich bin nicht sicher, was das darstelltecho "request" >&3
, ich denke, die 1 ist einfach überflüssigversuche netcat (zB nc)
echo GET / HTTP/1.0
) an meinen lokalen http-Serverquelle
In vielen Fällen hatte ich keinen Zugriff auf netcat / socat. Ich hatte auch Probleme mit der Verwendung von bash
exec
in einer verteilten Computerumgebung.Aufgrund seiner Verbreitung besteht eine alternative Lösung darin, die TCP / IP-Funktionen von GNU AWK zu nutzen. Es bietet eine einfache Syntax basierend auf dem Operator "Two-Way-Pipe".
Hier ist ein modifiziertes Beispiel aus dieser Quelle , das eine TCP-Nachricht über einen Socket sendet:
Die vollständige Syntax für die Adresse lautet:
/net-type/protocol/local-port/remote-host/remote-port
. Wenn derlocal-port
Wert auf 0 gesetzt ist, wählt der lokale Host automatisch den gewünschten Port aus. Weiteregawk
Informationen zu den TCP / IP-Netzwerkfunktionen finden Sie hier:quelle