嗅探时查找数据包的方向

Yas*_*ser 6 network-programming packet-capture tcpdump libpcap

我想要一个接口出站流量的源 IP 地址列表。如何使用 libpcap 找到数据包的方向(无论是入站还是出站读取流量)?我不知道双方的子网信息。而且两边都有客户端/服务器,所以我不能依赖端口号范围来过滤流量。

为什么 libpcap 数据包头中没有有关方向的信息,或者像pcap-filterinbound中那样的过滤器选项?

jon*_*ipp 0

PCAP 文件格式不包含保存捕获期间使用的接口的字段。尽管如此,Wireshark 和 Tshark 当前使用的较新的 PCAP-NG 文件格式支持它以及数据包方向。

现有的 pcap-ng 功能:

  • 丢包计数
  • 注释(注释)
  • 本地IP地址
  • 接口及方向
  • 主机名 <-> IP 地址数据库

PcapNg

听起来您是从路由器或防火墙捕获的,所以类似以下的内容将不起作用。

源IP 192.168.1.1

将流量捕获到流中可能是一种选择,但它仍然不会为您提供方向信息。不过,您将能够轻松确定源地址和目标地址。如果您有现有的 pcap,可以将其转换为 ARGUS 格式:

argus -r capture.pcap -w capture.argus
ra -nnr capture.argus
Run Code Online (Sandbox Code Playgroud)

其他可以轻松获取端点/主机的工具(一些带有示例)是:

ntop -f capture.pcap
tcpprof -nr capture.pcap
Run Code Online (Sandbox Code Playgroud)

Wireshark端点

流程工具

你必须解析出你想要的信息,但我不认为这太麻烦。如果您无法使用此功能,我建议您查看 PCAP-NG。

  • pcap-ng *支持*它,只要文件格式有一个*可以*放置方向的地方。但是,这是“*可以*放置”,而不是“*将*放置”,而且,由于 libpcap/WinPcap 目前一般不提供该方向信息,因此使用 libpcap/WinPcap 捕获的程序可以写入pcap-ng,例如 Wireshark/TShark(以及 OS X Mountain Lion 的 tcpdump),没有可放入文件中的方向指示符,因此不要将其放入文件中。即,pcap-ng 不足以解决整个问题。 (3认同)