如何监控谁在揍我?
有没有办法知道谁在我的网络上ping我的电脑? 是否可以监控所有ICMP数据包? 我怎样才能做到这一点?
是的,可以使用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我的技巧。
当我在终端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等监控应用程序。