我想要一种简单的方法来显示通过Linux机器上的任何接口传输的所有TCP数据(而不是TCP标头或其他信息)。
例如,我想要一个神奇的命令,如果我这样做:
magic_commmand_I_want port=1234
然后,如果有一台服务器在我的计算机上的端口1234上侦听,则有人执行了以下操作:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
然后,神奇的命令就会打印出来:
hello
我已经尝试过“ tcpdump”,“ ethereal”,“ tethereal”,“ tshark”和其他方法,但是如何使它们达到目标并不明显:
- 不显示IP地址或其他元数据
- 仅显示正在发送的“数据”,而不显示单个数据包及其标头
- 按原样打印数据,而不是十六进制打印,也不能使用数据包偏移标记
- 嗅探所有网络流量(是否在eth0或eth1或lo等上)
是的,您可能可以将一组通过管道传输的unix命令组合在一起以执行此操作,但是下次很难记住这一点:)
如果您有一个执行此操作的简单命令行示例,那就是我想要的。