rɑː*_*dʒɑ 13 networking linux ping
可能的重复:
我如何知道我的计算机何时被 ping 通?
我正在使用 Linux。我想知道如何知道谁在 ping 我的电脑。我在使用 Windows 时看到过类似的问题,但我不确定它是否适用于我。
Cha*_*les 32
看起来您是在问如何查看谁在 ping 您,对吗?一种快速而肮脏的方法是使用tcpdump简单地监视所有传入的 ICMP 回显请求:
sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo
Run Code Online (Sandbox Code Playgroud)
ethX您有兴趣收听的适配器的名称在哪里。
请注意,默认情况下 tcpdump 将解析主机名,因此您可能需要添加-n获取 IP的选项。
(顺便说一下,这与您链接的问题中给出的说明基本相同,尽管它们适用于 Wireshark,这是一个相关但独立的工具。)
use*_*517 17
你可以像这样使用 tcpdump
tcpdump ip proto \\icmp
Run Code Online (Sandbox Code Playgroud)
你会得到这种输出
09:25:22.650727 IP 192.168.1.69 > centos6.lan:ICMP echo request, id 1, seq 1, l ength 40 09:25:22.650816 IP centos6.lan > 192.168.1.1.69: ICMP echo,1 id eq 1.69 , 长度 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 "
Run Code Online (Sandbox Code Playgroud)
并在 /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
| 归档时间: |
|
| 查看次数: |
55743 次 |
| 最近记录: |