Chcę w prosty sposób pokazać wszystkie dane TCP (nie nagłówki TCP ani nic innego) przechodzące przez dowolny interfejs w moim Linux-ie.
Na przykład chcę magicznego polecenia, które jeśli zrobię:
magic_commmand_I_want port=1234
to jeśli na moim komputerze był serwer nasłuchujący na porcie 1234 i ktoś to zrobił:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Wtedy magiczne polecenie wydrukuje się po prostu:
hello
Próbowałem „tcpdump”, „ethereal”, „tethereal”, „tshark” i innych, ale nie jest oczywiste, jak je zdobyć:
- nie pokazuj adresów IP ani innych metadanych
- pokazują tylko wysyłane „dane”, a nie poszczególne pakiety i ich nagłówki
- wydrukuj dane takie, jakie są, nie w postaci szesnastkowej i nie ze znacznikami przesunięcia pakietu
- powąchać cały ruch sieciowy (czy to na eth0 lub eth1 lub LO , etc ...)
Tak, prawdopodobnie możesz połączyć ze sobą szereg poleceń unixowych, aby to zrobić, ale nie jest to łatwe do zapamiętania następnym razem :)
Jeśli masz prosty przykład wiersza polecenia, który to robi, właśnie tego chciałbym.