如何保存文件所有的syn包?

时间:2012-08-02 17:38:01

标签: networking tcpdump

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

我想要一个简单的工具,它不会只通过模式转储完整的数据包(在我的情况下只有ip,但有些情况下我也需要有效载荷)。 从上面(或另一个)做哪一个工作? 如果你有一些病人,我会很容易让你参考他们之间的差异。没找到好的。

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

谢谢

1 个答案:

答案 0 :(得分: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"