如何监控谁在揍我?

有没有办法知道谁在我的网络上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等监控应用程序。