我遇到了这个问题,
我的系统(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
那里运行。