0

我需要在收到的同步数据包上有一些静态数据(用于测试目的)。我迷失了可用的工具 - ethreal。tshark.tcpdumt。

我想要一个不会仅按模式转储完整数据包的简单工具(在我的情况下只有 ip,但在某些情况下我还需要有效负载)。上面(或另一个)中的哪一个做这项工作?如果你有一些病人,我会很乐意让你参考他们之间的差异。没找到好的。

我在 Ubuntu 上运行。工具、过滤器和模式都需要来自命令行。模式可以是 - ip.src ip.payload

谢谢

4

1 回答 1

3

以下 tcpdump 命令会将所有数据包保存到设置了 SYN 标志的文件中,并发送到存储在环境变量 MYIP 中的 IP 地址:

MYIP=172.16.1.2
sudo tcpdump -w /tmp/syn_packets "tcp[tcpflags] & tcp-syn != 0 and dst $MYIP"

可以使用以下命令列出来自转储的唯一主机/端口列表:

tcpdump -nr /tmp/syn_packets |cut -d " " -f 3 |uniq

可以使用以下命令列出每个主机/端口的数据包计数列表:

tcpdump -nr /tmp/syn_packets |cut -d " " -f 3 |uniq -c

数据包内容将存储在 tmp 文件中。您可以使用 -x 选项查看数据包数据的十六进制转储:

tcpdump -xr /tmp/syn_packets

您可以使用以下命令转储来自特定 IP 的数据包内容:

REMOTEIP=6.6.6.6
tcpdump -xr /tmp/syn_packets "src $REMOTEIP"
于 2012-08-02T18:28:34.490 回答