有人可以告诉我如何确切地工作“测试ICMP”? (检测本地网络嗅探的一种方法)

有帮助吗?

解决方案

嗅探检测基本上是检测到网络中是否有任何嗅探器。用于检测它们的嗅探器的主要功能是,它们将网卡置于混杂模式,聆听所有流量。通常,将嗅探器放在带有完整TCP/IP堆栈的机器上,该堆栈将受此模式的影响。

ICMP是背后的协议 ping 命令。要ping机器,您向其发送ICMP回波请求数据包,并等待ICMP响应。通常,将ICMP请求嵌入到以太网数据包中,以在整个网络上传递。标准以太网数据包将包括地址网卡的MAC地址以及嵌入式ICMP数据包中该计算机的IP地址。该数据包将由适当的卡检测到,该机器会响应 ping. 。这是标准过程。

现在让我们看看如果我们发送了 ping 带有可疑嗅探器地址的IP地址的数据包(ICMP回声请求一个),但 不同的, ,以太网信封中的MAC地址有故障。

  1. 如果Sniffer机器中的网卡是 不是 在混杂模式下,数据包将 不是 该机器收到。自然,机器不会回应。这 ping 尝试失败。

  2. 如果Sniffer计算机中的网卡处于混杂模式,那么机器将看到 全部 网络中的数据包。因此,该计算机上的TCP/IP堆栈将接受 ping 通过识别收到的数据包IP地址来包。因此,堆栈将发送回复。这 ping 尝试会 成功.

与其他检测方法类似,这具有误报和假否定性。 Sniffer机器可以指示忽略所有ICMP请求。尽管这是一个非常重要的线索,但检测混杂模式并不完全检测到嗅探器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top