Gibt es eine Möglichkeit, sich schnell an eine TCP Port/IP-Adresse zu binden und einfach alle Informationen an STDOUT auszudrucken? Ich möchte in der Lage sein, einfach einen Port aus Bash zu binden und alles zu drucken, was auftaucht. Gibt es eine einfache Möglichkeit, dies zu tun?
$ nc -k -l 4444 > filename.out
siehe nc(1)
Nur weil Sie gefragt haben, wie es in bash
gemacht werden soll, obwohl netcat
eine sehr gültige Antwort ist:
$ exec 3<>/dev/tcp/127.0.0.1/4444
$ cat <&3
Das funktioniert so, wie Sie es erwarten:
nc -k -l 4444 |bash
und dann du
echo "ls" >/dev/tcp/127.0.0.1/4444
dann sehen Sie die Auflistung von Bash durchgeführt.
[Eine kurze Sicherheitswarnung]
Wenn Sie so etwas auf Ihrem Computer laufen lassen, steht Ihnen natürlich ein weit offenes Gateway für alle Arten von Angriffen zur Verfügung, da Befehle von jedem Benutzerkonto auf jedem Host in Ihrem Netzwerk gesendet werden können. Dies beinhaltet keinerlei Sicherheit (Authentifizierung, Identifizierung) und sendet alle übertragenen Befehle unverschlüsselt über das Netzwerk, sodass sie sehr leicht missbraucht werden können.
Hinzufügen einer Antwort mit ncat
, auf die @Freedom_Ben angespielt hat:
ncat -k -l 127.0.0.1 4444
und erklärung der optionen von man ncat:
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections