使用 tcpdump 捕获 TCP 传输的数据,无需协议详细信息(类似于 tcpflow)

使用 tcpdump 捕获 TCP 传输的数据,无需协议详细信息(类似于 tcpflow)

我使用了tcpflow很多来捕获作为 TCP 连接的一部分传输的数据。它允许您查看传输的数据,而无需任何 TCP 协议详细信息。

有没有办法使用 来完成同样的事情tcpdump

我的意思是,我也能够看到传输的数据tcpdump,但包括我不感兴趣的数据包的所有内容。我只想要纯数据,没有任何协议的详细信息。

这就是我的意思:

例如,发送一个“hello world”,如下所示:

echo "hello world" | nc localhost 8098

使用tcpflow,我可以完成此输出:

sudo tcpflow -C -i any port 8098
tcpflow: listening on any
hello world

使用tcpdump,我可以得到类似的东西:

sudo tcpdump -A -i any port 8098
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
15:14:36.699939 IP localhost.52524 > localhost.8098: Flags [S], seq 4067768558, win 43690, options [mss 65495,sackOK,TS val 4205840266 ecr 0,nop,wscale 7], length 0
E..<..@[email protected]..........,...u8..........0.........
............
15:14:36.699959 IP localhost.8098 > localhost.52524: Flags [S.], seq 2708887582, ack 4067768559, win 43690, options [mss 65495,sackOK,TS val 4205840266 ecr 4205840266,nop,wscale 7], length 0
E..<..@.@.<............,.vX..u8......0.........
............
15:14:36.699967 IP localhost.52524 > localhost.8098: Flags [.], ack 1, win 342, options [nop,nop,TS val 4205840266 ecr 4205840266], length 0
E..4..@[email protected]..........,...u8..vX....V.(.....
........
15:14:36.700000 IP localhost.52524 > localhost.8098: Flags [P.], seq 1:13, ack 1, win 342, options [nop,nop,TS val 4205840266 ecr 4205840266], length 12
E..@..@[email protected]..........,...u8..vX....V.4.....
........hello world

当我感兴趣的只是“hello world”部分。

相关内容