有人能告诉我“测试 ICMP”到底是如何工作的吗?(在本地网络中检测嗅探的方法之一)
1 回答
嗅探检测基本上是检测您的网络中是否有任何嗅探器。用于检测它们的嗅探器的主要特征是它们将网卡置于混杂模式,侦听所有流量。通常,嗅探器放置在具有完整 TCP/IP 堆栈的机器上,该堆栈将受此模式影响。
ICMP 是命令背后的协议ping
。要 ping 一台机器,您向它发送一个 ICMP Echo 请求数据包并等待一个 ICMP 响应。通常,ICMP 请求嵌入在以太网数据包中以通过网络传递。一个标准的以太网数据包将包括寻址网卡的 MAC 地址,以及嵌入式 ICMP 数据包中该机器的 IP 地址。该数据包将被相应的卡检测到,并且该机器将响应ping
. 这是标准流程。
现在让我们看看如果我们发送一个ping
数据包(ICMP Echo 请求一),该数据包带有可疑嗅探器地址的 IP 地址,但以太网信封中的 MAC 地址不同,错误的 MAC 地址会发生什么。
如果嗅探机中的网卡未处于混杂模式,则该机器将不会接收到数据包。自然,机器不会响应。
ping
尝试会失败。如果嗅探机中的网卡处于混杂模式,则机器将看到网络中的所有数据包。因此,该机器上的 TCP/IP 堆栈将
ping
通过识别接收到的数据包 IP 地址来接受数据包。堆栈将因此发送响应。ping
尝试会成功。
与其他检测方法类似,这具有误报和误报。可以指示嗅探器忽略所有 ICMP 请求。检测混杂模式并不完全是检测嗅探器,尽管它是一个非常重要的线索。