Answers:
是的,可以使用tcpdump
,这是Linux上可用的功能最强大且使用最广泛的命令行数据包嗅探器或程序包分析器工具。
在要管理的计算机的终端中:
sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo
选项:
-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo To print all ICMP packets that are echo requests/replies
它会开始在ethX上侦听并等待到达的数据包。
示例:我有2个win7 10.1.1.8,Ubuntu 10.1.1.57,它将监视到达的数据包:
在ubuntu上:
参考:nixCraft
好锻炼@nux我喜欢它。
我还想补充一下我使用的技巧,以发现谁通过使用avahi
工具(可以从安装Synaptic
)对我执行ping操作。
当我在terminal中运行时avahi-browse -rat
,它会自动编译完整的连接列表,例如:
hostname = [xxx-xxx.local]
address = [xxx::x:xxx:xxx:xxx:xxx] physical
address = [xx.xx.xxx.xx] ipv4 or ipv6
port = [xxx]
txt = [xxx]
例如,运行该命令时,我总是可以看到Internet提供商在会话期间对我执行ping操作。
要查看avahi可以做的所有事情,请运行:
avahi-browse --help
必须简单地安装此软件包(如果没有):
sudo apt-get install iptables-persistent
然后将此命令添加到/etc/iptables/rules.v4
文件中:
-A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix "LOG_IPTABLES_PING_REQUEST: "
要检查谁对您进行ping操作,只需检查日志文件:
grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages
您还可以使用诸如Wireshark的监视应用程序。
-n
显示IP而不是DNS名称,而不显示MAC地址。因此,使用-n运行避免了(可能很慢)反向DNS查询。