当前位置: 首页>>技术教程>>正文


networking – 如何监控谁在ping我?

, ,

问题描述

有没有办法知道谁在我的网络上 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 台 pc 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 

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12103.html,未经允许,请勿转载。