Wat is de makkelijkste manier om TCP verkeer data te sniffen op Linux?
Ik wil een eenvoudige manier om alle TCP data te tonen (niet de TCP headers of iets anders) die over een interface op mijn Linux box gaan.
Bijvoorbeeld, ik wil een magisch commando dat als ik doe:
magic_commmand_I_want port=1234
dan als er een server luisterde op poort 1234 op mijn machine, en iemand deed:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Dan zou het magische commando gewoon uitprinten:
hello
Ik heb “tcpdump”, “ethereal”, “tethereal”, “tshark”, en anderen geprobeerd, maar het is niet duidelijk hoe je ze zover krijgt dat ze:
- geen IP-adressen of andere metadata laat zien
- alleen de “data” laat zien die verzonden wordt, niet individuele pakketten en hun headers
- de data afdrukt zoals ze zijn, niet in hex, en niet met packet-offset markers
- alle netwerkverkeer snuffelt (of het nu op eth0 of eth1 of lo is, enz. …)
Ja, je zou waarschijnlijk een reeks unix commando’s aan elkaar kunnen rijgen om dit te doen, maar dat is niet erg gemakkelijk om te onthouden voor de volgende keer :)
Als je een eenvoudig voorbeeld hebt van een exacte command-line die dit doet, dan zou ik dat graag willen.