嗅探数据包,查看接口名称和进/出标志

嗅探数据包,查看接口名称和进/出标志

我正在尝试监控我的流量,并在 Linux 上安装了 WireShark 作为最推荐的工具。

但是,我找不到可靠的方法来查看数据包是传入还是传出,并显示接口名称(即使在数据包详细信息中,接口也始终为 0)。我可以通过 ip 猜测该信息,但我想要准确的信息,不想出错。接口promiscuous已处于模式。

ping localhost例如,使用 SNAT WireShark 监控any接口(Linux-cooked链路层标头)后,会给出一个请求条目

Internet Protocol Version 4, Src: 192.168.1.4, Dst: 127.0.0.1

并回复:

Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1

其中涉及两个接口,并且在我看来每个请求和回复都有两个不同的包。如果没有详细信息,我无法看到 SNAT 细节。

是否有设置/方式可以查看

interface+in/out

WireShark 中的信息?如果没有,您建议如何嗅探/监控?

答案1

Wireshark及其命令行配套捕获工具tsharkdumpcap允许您指定多个要捕获的接口。例如,不必指定-i any最后得到一个 Linux Cooked Capture,你可以指定-i eth0 -i lo在两个接口上进行捕获,而不会丢失每个接口的信息。使用 Wireshark,只需Ctrl 键单击您想要从主页或捕获->选项菜单。

由于您在多个接口上进行捕获,因此每个接口都分配有不同的接口 ID添加到帧数据中,甚至可以用于使用frame.interface_id显示过滤器过滤数据包。例如,如果您只想查看接口 ID 为 0 的帧,请使用frame.interface_id == 0。您还可以将此字段添加为列,以便更轻松地查看哪个帧与哪个接口相关联。

答案2

您可以简单地使用 tcpdump 命令来监视传入或传出的数据包。

tcpdump -i eth0 (Here you need to specify that which port you want to monitor)

为了使用远程 IP 和数据包大小进行可视化,您可以安装NTOP 工具在你的 Linux 服务器上

相关内容