Ter*_*ska 10 linux filtering tcpdump
是否有可能根据tcp连接时间(连接持续时间)过滤tcpdump(实时或创建转储后)?
我正在录制http json rpc流量.我想只记录比1000毫秒更长的连接.
在wireshark中,菜单 - >统计 - >对话(TCP选项卡)中有工具,我可以按"持续时间"排序.但我想在之前记录(或过滤)长期存在的连接(而不是在wireshark中).
在伪命令中我想做这样的事情:
tcpdump -i eth0 port 80 and connectionTime>1000ms -w data.pcap
Run Code Online (Sandbox Code Playgroud)
或录音后:
cat data.pcap | SOMETOOL -connectionTime>1000ms > dataLongConnections.pcap
Run Code Online (Sandbox Code Playgroud)
SOMETOOL必须将过滤后的数据导出为Wireshark将理解的格式.因为过滤后我想在Wireshark中分析这些数据.
我怎么能这样做?
您需要在流级别而不是数据包级别考虑流量。
如果您使用NetFlow,则可以使用flow-tools和flow-nfilter按持续时间过滤流。因此,您可以将 pcap 转换为 NetFlow,然后对其进行过滤。
缺点是在输出中您得到的是 NetFlow,而不是 PCAP。对于构建一些统计数据来说就足够了,但是对于检查数据包来说 - 不一定。
您还可以使用 C 语言的libpcap(困难的方法)或python 的scapy (更简单的方法)构建自己的工具。后一个选项应该不会太困难(前提是您使用 python)
| 归档时间: |
|
| 查看次数: |
3224 次 |
| 最近记录: |