监控哪个应用程序生成 ICMP/ping 流量

监控哪个应用程序生成 ICMP/ping 流量

​我遇到了这个问题,

我的系统(Linux/Fedora 24/x64)中的某些东西不断向多个 IP 地址发送 ping,我想知道是哪个进程对此负责。

我发现了几篇文章(和答案)使用auditctl但它对我不起作用。

更新:找到了我的问题,请参阅下面的答案。


答案1

第1部分:

当尝试使用它进行调试时,netstat我无法看到任何 icmp 流量,所以我尝试使用ss,但即使这样我也没有看到任何应用程序,所以我尝试对我的一台主机运行 ping,并且我能够在ss -anpw-w对于原始套接字)的输出中查看它

这时我回到了wireshark并开始更仔细地查看数据包,然后它击中了我......(参见第2部分)。

第2部分:

似乎我错过了对wireshark输出的理解,数据包是ICMP,但不是回显/回复类型,而是我的防火墙(iptables)对传入连接的响应。

在我的 iptables 中有这一行

-A INPUT -j REJECT --reject-with icmp-host-prohibited

对于任何不匹配任何规则的传入连接,它将回复 ICMP 类型:3(目标无法访问)和代码:10(主机管理禁止)。

我的问题似乎是由将我的 torrent 客户端的端口列入白名单引起的,但它们位于 HOME 区域链中,并且由于某种原因,我的 Home 连接的默认策略设置为默认/公共。

设置接口的区域后(并且将端口列入 iptable 链中的白名单),我将不再看到上述 ICMP 消息。

答案2

我建议你运行:

tcpdump -nni ethernet_interface icmp

通过键入 获取Ethernet_interface ifconfig。通常是eth0(macs 使用 en0)。查找旁边有您的 IP 的接口。

您将看到 ICMP 回显请求:

IP > Your_IP   

一旦找到发送请求的 IP,您链接的页面就会显示如何netstat查找进程 ID (pid)。登录正在发送的 IP(如果您有权限)并在netstat那里运行。

相关内容