2014-09-30 20 views
-1

我正在寻找一个数据包分析工具,它可以写入解析的数据包信息和数据包摘要(如tcpdump),但也有一个超时时间,具体时间已过,它会停止嗅探。包含超时和数据包摘要的数据包分析器,用于bash脚本

tcpdump的没有这个超时功能。现在,我正在使用睡眠来延迟,然后发送kill -INT以捕获摘要以及信息。

wireshark调用GUI并且在写入文件时不给出分析的数据包信息或数据包摘要。我们必须使用tcpdump来获取已解析的数据包信息。但是没有办法得到数据包的总结。

其他数据包嗅探器如dsniff,ettercap,ngrep,xplico也有类似的问题。

因此,请大家帮我找一个数据包嗅探器/分析仪,它可以采取“超时”作为参数,并用数据包的摘要一起产生解析报文信息(处理的数据包数量,...像tcpdump的)。

回答

2

您可以通过-c标志告诉tcpdump在给定包计数后停止。假设您首先了解通过您的数据流量可以决定大量数据并收集该数据包数量。通过这种方式,您可以获得固定数量的数据,但是否需要5或6或7分钟才能控制。还有一个-G标志将每N秒将捕获的数据写入(新)文件。 ...或者你可以使用timeout命令,即:

timeout 60 tcpdump -i eth0 port 80 -w output.cap 

这将运行tcpdump的60秒钟,然后退出。它做什么,你在一个不太笨拙的方式已经这样做了: - )

+0

谢谢,我不知道这个超时命令。而且我知道'c'和'G'的标志,但我们不想要那些标志。而-w不会提供解析的数据包信息,只是原始信息。所以,我重定向stdout和stderr来获取解析的数据包信息和数据包摘要。 – abhilash 2014-09-30 11:26:21

+0

是的,它只是一个示例命令;)tcpdump可以稍后从转储中解析数据包信息...超时命令是一个非常方便的工具,但由于某些原因,它并不是那么广为人知。 – bryn 2014-09-30 11:40:29

1

试试这个命令

sudo tcpdump -Z root -w ~/dump.bin -n -i eth0 -G 300 -W 1 
+0

这个问题的问题是,如果没有收到数据包,“-G”不超时。所以上面的超时解决方案更好。 – Gunni 2016-02-11 14:53:20