Ich möchte auf einfache Weise alle TCP-Daten (nicht die TCP-Header oder andere) anzeigen, die über eine beliebige Schnittstelle auf meiner Linux-Box übertragen werden.
Zum Beispiel möchte ich einen magischen Befehl, der, wenn ich es tue:
magic_commmand_I_want port=1234
Wenn dann ein Server an Port 1234 auf meinem Computer lauschte und jemand dies tat:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Dann würde der magische Befehl einfach ausdrucken:
hello
Ich habe "tcpdump", "ethereal", "tethereal", "tshark" und andere ausprobiert, aber es ist nicht klar, wie man sie dazu bringt:
- IP-Adressen oder andere Metadaten nicht anzeigen
- zeigen nur die "Daten", die gesendet werden, nicht einzelne Pakete und deren Header
- Drucken Sie die Daten wie sie sind, nicht hexadezimal und nicht mit Paket-Offset-Markierungen
- den gesamten Netzwerkverkehr abhören (egal ob auf eth0 oder eth1 oder lo , etc ...)
Ja, Sie könnten wahrscheinlich eine Reihe von Unix-Befehlen aneinander reihen, um dies zu tun, aber das ist beim nächsten Mal nicht so einfach zu merken :)
Wenn Sie ein einfaches Beispiel für eine genaue Befehlszeile haben, die dies ausführt, dann ist es das, was ich möchte.