Sai*_*int 2 networking network-programming mac-address icmp
有人能告诉我"测试ICMP"究竟是如何工作的吗?(检测本地网络中的嗅探的方法之一)
嗅探检测基本上是检测网络中是否有嗅探器.用于检测它们的嗅探器的主要特征是它们将网卡置于混杂模式,监听所有流量.通常,嗅探器放置在具有完整TCP/IP堆栈的计算机上,该堆栈将受此模式的影响.
ICMP是ping命令背后的协议.要对计算机执行ping操作,请向其发送ICMP Echo请求数据包并等待ICMP响应.通常,ICMP请求嵌入在以太网数据包中以通过网络传送.标准以太网数据包将包括所寻址的网卡的MAC地址,以及嵌入式ICMP数据包中该机器的IP地址.该数据包将被适当的卡检测到,该机器将响应该数据包ping.这是标准流程.
现在让我们看看如果我们发送了一个ping数据包(ICMP Echo请求1),其中包含可疑嗅探器地址的IP地址但在以太网信封中有一个不同的错误MAC地址,会发生什么.
如果嗅探器中的网卡未处于混杂模式,则该计算机将不会接收该数据包.当然,机器不会响应.这种ping尝试会失败.
如果嗅探器中的网卡处于混杂模式,则机器将看到网络中的所有数据包.因此,该机器上的TCP/IP堆栈将ping通过识别所接收的分组IP地址来接受该分组.因此,堆栈将发送响应.这种ping尝试会成功.
与其他检测方法类似,这也有假阳性和假阴性.可以指示嗅探器机器忽略所有ICMP请求.检测混杂模式并不完全是检测嗅探器,尽管这是一个非常重要的线索.