I want a simple way to show all the TCP data (not the TCP headers or anything else) going over any interface on my Linux box.
For instance, I want a magical command that if I do:
then if there was a server listening on port 1234 on my machine, and someone did:
echo hello | nc localhost 1234 # Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Then the magical command would just print out:
I've tried "tcpdump", "ethereal", "tethereal", "tshark", and others, but it isn't obvious how you get them to:
- not show IP addresses or other metadata
- only show the "data" being sent, not individual packets and their headers
- print the data as-is, not in hex, and not with packet-offset markers
- sniff all network traffic (whether it's on eth0 or eth1 or lo, etc...)
Yes, you could probably string together a piped set of unix commands to do this, but that isn't very easy to remember for next time :)
If you have a simple example of an exact command-line that does this, that's what I'd like.