Anand Shah Asked: 2009-05-14 22:22:53 +0800 CST2009-05-14 22:22:53 +0800 CST 2009-05-14 22:22:53 +0800 CST 在 LAN 上查找嗅探器 772 *nix 和 Windows 可以使用哪些工具或技术来帮助查找 LAN 上的其他人是否正在使用嗅探器? 话虽如此,并强烈考虑到有工具可以发现这种“现象”,不被嗅探的解决方法是什么? local-area-network packet-sniffer 9 个回答 Voted Best Answer splattne 2009-05-14T23:09:33+08:002009-05-14T23:09:33+08:00 检测嗅探器非常困难,因为它们是被动工作的。一些嗅探器确实会产生少量流量,因此有一些技术可以检测它们。 机器缓存 ARP(地址解析协议)。发送非广播 ARP,处于混杂模式的机器(使网卡通过所有流量的网卡)将缓存您的 ARP 地址。然后,使用我们的 IP 发送广播 ping 数据包,但 MAC 地址不同。只有从嗅探的 ARP 帧中具有我们正确 MAC 地址的机器才能响应我们的广播 ping 请求。所以,如果机器有响应,它一定是在嗅探。 大多数嗅探器都会进行一些解析。在数据泛滥之前和期间发送大量数据并 ping 可疑机器。如果可疑机器的网卡处于混杂模式,它会解析数据并增加其负载。这样,响应 ping 需要一些额外的时间。这个小小的延迟可以用作机器是否在嗅探的指标。如果由于高流量而在网络上出现一些“正常”延迟,它可能会引发一些误报。 以下方法已经过时且不再可靠:使用可疑机器的 IP 地址而不是其 MAC 地址发送 ping 请求。理想情况下,没有人会看到这个数据包,因为每个网卡都会拒绝 ping,因为它与其 MAC 地址不匹配。如果可疑机器正在嗅探,它将响应,因为它不会拒绝拒绝具有不同目标 MAC 地址的数据包。 有一些工具可以实现这些技术,例如开源工具,如Neped和ARP Watch或用于 Windows 的AntiSniff,这是一种商业工具。 如果您想防止嗅探,最好的方法是对任何网络活动(SSH、https 等)使用加密。通过这种方式,嗅探器可以读取流量,但数据对他们来说毫无意义。 nedm 2009-05-14T22:31:14+08:002009-05-14T22:31:14+08:00 数据包嗅探是一种被动活动,通常无法判断是否有人在嗅探您的网络。但是,为了让有线、交换 LAN 上的某人看到不只是发往或来自其 IP(或广播到网络/子网)的流量,他们需要访问复制所有流量的受监控/镜像端口,或在网关上安装“水龙头”。 对嗅探的最佳防御是体面的端到端加密,以及对敏感硬件的物理控制。 编辑:CPM、Neped 和 AntiSniff 现在已经过时了 10-15 年……想想 Linux 内核 <2.2 或 Windows NT4。如果有人可以使用水龙头或镜子,通常很难检测到。操纵 ARP 或 DNS 可能是最好的选择,但这远非确定无疑。 Gert M 2009-05-14T22:38:45+08:002009-05-14T22:38:45+08:00 (我相信)您可以嗅探交换 LAN 上所有流量的唯一方法是使用“中间人”攻击。你基本上是做 ARP 中毒,窃取每个人的数据包,然后读取它们并将它们发送到正确的计算机。 可能有多种工具可以做到这一点,我只知道一个: Ettercap既可以执行 Mitm 攻击,也可以在其他人执行此操作时检测到一个。 Adam 2009-05-15T08:11:38+08:002009-05-15T08:11:38+08:00 社会工程是另一种方法。设置一个蜜罐 root/admin 帐户或其他一些诱人的目标,以明文方式广播其密码并查看您的日志。 Rym 2009-06-12T08:07:42+08:002009-06-12T08:07:42+08:00 有一种简单的方法可以检测大多数嗅探器。在网络上放置两个不在 DNS 中且不用于其他任何东西的盒子。让他们定期 ping 或以其他方式相互通信。 现在,监视您的网络以查找任何 DNS 查找和/或针对其 IP 的 ARP 请求。默认情况下,许多嗅探器会查找他们找到的任何地址,因此在这些设备上的任何查找都将是一个可靠的警告。 一个聪明的黑客可以关闭这些查找,但许多人不会想到,这肯定会减慢他的速度。 现在,如果他足够聪明,不会启用 DNS 查找,并阻止这些设备的任何 ARP,那么您的任务就会困难得多。此时,您应该在网络始终被嗅探的理念下工作,并制定主动程序以防止在此假设下可能出现的任何漏洞。其中包括: 使用完全交换的网络 将交换机端口绑定到 MAC 地址 禁止在 NIC 上启用混杂模式(如果可能在您的环境中) 使用安全协议 gbarry 2009-05-14T23:00:03+08:002009-05-14T23:00:03+08:00 Wireshark 是监控网络流量的绝佳工具。它会查找名称以匹配 IP 地址,从 MAC 地址中查找制造商等。当然,您可以看到它执行这些查询,然后您就知道它正在运行。 当然,你可以关闭这些东西然后不被检测到。还有其他旨在故意不被发现的程序。所以这只是在尝试回答这个问题时需要考虑的事情。 John McC 2009-05-14T23:16:09+08:002009-05-14T23:16:09+08:00 唯一可靠的方法是检查子网上的每个设备。 有一些工具,例如nmap,但不能保证它们能正常工作,而且被动水龙头不会泄露它们的存在。 最好的方法是假设您的网络或多或少是公开的并使用加密。以应用程序为基础 - SSH、HTTPS IMAPS 等,或通过 VPN 隧道传输所有流量 sclarson 2009-05-15T05:44:57+08:002009-05-15T05:44:57+08:00 在我的脑海中,我会看到为主机接收更多数据和/或发送的数据少于平均水平的接口切换 SNMP 接口数据。寻找任何一个标准偏差之外的任何东西,你可能会发现人们最有可能做他们不应该做的事情。 它可能不仅仅是嗅探器,可能会找到狂热的 hulu/netflix 观察者。 您的交换机/路由器也可能具有监视和捕捉试图毒化 arp 表的人的功能,这也是一个相当大的赠品。 hellimat 2009-06-12T08:55:17+08:002009-06-12T08:55:17+08:00 集线器(或真正的旧网络设置,如 Thinnet/Thicknet)始终通过网络传输所有数据。任何插入的人都会看到他们本地网段上的每个数据包。如果您将网卡设置为混杂模式(读取所有数据包,而不仅仅是直接发送给您的数据包)并运行数据包捕获程序,您可以看到发生的一切,嗅探密码等。 交换机像老式网络桥一样运行——它们只将流量传输到一个端口,如果它是 a) 广播 b) 以该设备为目的地 交换机维护一个缓存,指示哪些 MAC 地址在哪个端口上(有时会有集线器或交换机以菊花链形式连接到端口)。交换机不会将所有流量复制到所有端口。 高端交换机(用于商业用途)可能具有特殊端口(跨度或管理),可配置为复制所有流量。IT 部门使用这些端口来监控流量(合法嗅探)。检测未经授权的嗅探应该很容易——去看看交换机,看看是否有任何东西插入该端口。
检测嗅探器非常困难,因为它们是被动工作的。一些嗅探器确实会产生少量流量,因此有一些技术可以检测它们。
有一些工具可以实现这些技术,例如开源工具,如Neped和ARP Watch或用于 Windows 的AntiSniff,这是一种商业工具。
如果您想防止嗅探,最好的方法是对任何网络活动(SSH、https 等)使用加密。通过这种方式,嗅探器可以读取流量,但数据对他们来说毫无意义。
数据包嗅探是一种被动活动,通常无法判断是否有人在嗅探您的网络。但是,为了让有线、交换 LAN 上的某人看到不只是发往或来自其 IP(或广播到网络/子网)的流量,他们需要访问复制所有流量的受监控/镜像端口,或在网关上安装“水龙头”。
对嗅探的最佳防御是体面的端到端加密,以及对敏感硬件的物理控制。
编辑:CPM、Neped 和 AntiSniff 现在已经过时了 10-15 年……想想 Linux 内核 <2.2 或 Windows NT4。如果有人可以使用水龙头或镜子,通常很难检测到。操纵 ARP 或 DNS 可能是最好的选择,但这远非确定无疑。
(我相信)您可以嗅探交换 LAN 上所有流量的唯一方法是使用“中间人”攻击。你基本上是做 ARP 中毒,窃取每个人的数据包,然后读取它们并将它们发送到正确的计算机。
可能有多种工具可以做到这一点,我只知道一个:
Ettercap既可以执行 Mitm 攻击,也可以在其他人执行此操作时检测到一个。
社会工程是另一种方法。设置一个蜜罐 root/admin 帐户或其他一些诱人的目标,以明文方式广播其密码并查看您的日志。
有一种简单的方法可以检测大多数嗅探器。在网络上放置两个不在 DNS 中且不用于其他任何东西的盒子。让他们定期 ping 或以其他方式相互通信。
现在,监视您的网络以查找任何 DNS 查找和/或针对其 IP 的 ARP 请求。默认情况下,许多嗅探器会查找他们找到的任何地址,因此在这些设备上的任何查找都将是一个可靠的警告。
一个聪明的黑客可以关闭这些查找,但许多人不会想到,这肯定会减慢他的速度。
现在,如果他足够聪明,不会启用 DNS 查找,并阻止这些设备的任何 ARP,那么您的任务就会困难得多。此时,您应该在网络始终被嗅探的理念下工作,并制定主动程序以防止在此假设下可能出现的任何漏洞。其中包括:
Wireshark 是监控网络流量的绝佳工具。它会查找名称以匹配 IP 地址,从 MAC 地址中查找制造商等。当然,您可以看到它执行这些查询,然后您就知道它正在运行。
当然,你可以关闭这些东西然后不被检测到。还有其他旨在故意不被发现的程序。所以这只是在尝试回答这个问题时需要考虑的事情。
唯一可靠的方法是检查子网上的每个设备。
有一些工具,例如nmap,但不能保证它们能正常工作,而且被动水龙头不会泄露它们的存在。
最好的方法是假设您的网络或多或少是公开的并使用加密。以应用程序为基础 - SSH、HTTPS IMAPS 等,或通过 VPN 隧道传输所有流量
在我的脑海中,我会看到为主机接收更多数据和/或发送的数据少于平均水平的接口切换 SNMP 接口数据。寻找任何一个标准偏差之外的任何东西,你可能会发现人们最有可能做他们不应该做的事情。
它可能不仅仅是嗅探器,可能会找到狂热的 hulu/netflix 观察者。
您的交换机/路由器也可能具有监视和捕捉试图毒化 arp 表的人的功能,这也是一个相当大的赠品。
集线器(或真正的旧网络设置,如 Thinnet/Thicknet)始终通过网络传输所有数据。任何插入的人都会看到他们本地网段上的每个数据包。如果您将网卡设置为混杂模式(读取所有数据包,而不仅仅是直接发送给您的数据包)并运行数据包捕获程序,您可以看到发生的一切,嗅探密码等。
交换机像老式网络桥一样运行——它们只将流量传输到一个端口,如果它是 a) 广播 b) 以该设备为目的地
交换机维护一个缓存,指示哪些 MAC 地址在哪个端口上(有时会有集线器或交换机以菊花链形式连接到端口)。交换机不会将所有流量复制到所有端口。
高端交换机(用于商业用途)可能具有特殊端口(跨度或管理),可配置为复制所有流量。IT 部门使用这些端口来监控流量(合法嗅探)。检测未经授权的嗅探应该很容易——去看看交换机,看看是否有任何东西插入该端口。