可能重复:
我怎么知道我的电脑何时被ping通?
我正在使用Linux。 我想知道如何判断谁在ping我的电脑。 我用Windows看过这个类似的问题 ,但是我不确定它适用于我。
看起来你在问怎么看谁在捅你,对吗? 一个快速和肮脏的方式将使用tcpdump来简单地监视所有传入的ICMP回应请求:
sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo
其中ethX是您有兴趣收听的适配器的名称。
请注意,tcpdump默认会parsing主机名,所以你可能需要添加-n选项来取代IP。
(顺便说一下,这与您所链接的问题中给出的指令基本相同,但它们是针对Wireshark的,这是一个相关但是独立的工具。)
你可以像这样使用tcpdump
tcpdump ip proto \\icmp
你会得到这种输出
09:25:22.650727 IP 192.168.1.69> centos6.lan:ICMP回显请求,id 1,seq 1,l ength 40 09:25:22.650816 IP centos6.lan> 192.168.1.69:ICMP回显回复,id 1,seq 1 ,lenthth 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(至less在CentOS上)获取这样的消息。
Nov 14 09:43:35 centos6 kernel: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