如何知道谁 ping 了我的电脑?

如何知道谁 ping 了我的电脑?

可能重复:
我如何知道我的计算机何时被 ping ?

我使用的是 Linux。我想知道如何知道谁在 ping 我的电脑。我见过使用 Windows 的类似问题,但我不确定它是否适用于我。

答案1

看起来你问的是如何查看谁在 ping 你,对吧?一种快速而肮脏的方法是tcpdump简单地监视所有传入的 ICMP 回显请求:

sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo

ethX您感兴趣的适配器的名称在哪里?

请注意,tcpdump 将默认解析主机名,因此您可能需要添加-n获取 IP 的选项。

(顺便说一句,这基本上与您链接的问题中给出的说明相同,尽管它们针对的是 Wireshark,一个相关但独立的工具。)

答案2

你可以像这样使用 tcpdump

tcpdump ip proto \\icmp

你会得到这样的输出

09:25:22.650727 IP 192.168.1.69 > centos6.lan:ICMP 回显请求,ID 1,序号 1,长度 40 09:25:22.650816 IP centos6.lan > 192.168.1.69:ICMP 回显答复,ID 1,序号 1,长度 40

你也可以使用 iptables

 iptables -I INPUT -p icmp --icmp-type 8 -m state  --state NEW,ESTABLISHED,RELATED -j LOG --log-level=1 --log-prefix "Ping Request "

并在 /var/log/messages 中获取类似这样的消息(至少在 CentOS 上)

11 月 14 日 09:43:35 centos6 内核:Ping 请求 IN=eth0 OUT=MAC=00:0c:29:d2:2c:38:00:0c:29:fe:8e:bb:08:00 SRC=192.168.1.69 DST=192.168.254.188 LEN=60 TOS=0x00 PREC=0x00 TTL=126 ID=6551 PROTO=ICMP TYPE=8 CODE=0 ID=1 SEQ=37

相关内容