Linux

如何找到正在ping localhost的程序

  • July 17, 2015

如何找到向 localhost 發出 ping 的程序?雖然它不是腳本,但 ping 命令可以簡單地從程序表中 grep。

我使用過wireshark,但找出真正導致ping的程序沒有幫助。

非常感謝任何提示。

該命令sudo lsof -n |grep "st=07"似乎有效。

為了測試它,我ping在一個終端上執行如下所示以生成 ICMP 數據包

arul@cheetah:~$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.049 ms

在另一個終端上,我執行lsof如下所示。您可以看到輸出顯示程序和作為 ICMP 數據包來源的 pid。

arul@cheetah:~$ sudo lsof -n |grep "st=07"
ping       3344                   arul    3u      raw                         0t0     602086 00000000:0001->00000000:0000 st=07

來源:https ://stackoverflow.com/questions/23327689/identify-the-pid-of-process-which-is-transmitting-icmp-packets

引用自:https://serverfault.com/questions/705871