1

我想知道数据包嗅探器的原理。他们如何捕获其他应用程序的数据包?

我一直在考虑这个问题。我有一个理论。这与代理服务器的工作原理有关吗?一旦使用了一些特殊的API,所有的本地应用程序都会将它们的数据包发送到指定的IP而不是它们原来的IP。数据包嗅探器接收并复制,最后将它们发送回原始目的地。是对的吗?

你能解释一下数据包嗅探器的工作原理吗?提前谢谢你的帮助。

4

1 回答 1

8

网络接口(即硬件网络适配器卡)接收线路上的所有流量,无论它是否发给它们。

收到帧后,驱动程序会检查帧头中的接收者MAC地址,并将其与接口的 MAC 进行比较。如果地址匹配,则将帧转发给操作系统以供使用;如果不是,则将其丢弃。

接口还提供了进入混杂模式的选项,其中所有帧都被转发到操作系统。这就是数据包嗅探器所做的事情:它们向驱动程序发送一个命令,将卡置于混杂模式,然后可以读取从网络物理到达的所有流量,无论它的地址是谁。

当然,混杂模式并不能保证您会收到网络上的所有流量;网络拓扑可以很容易地阻止发送给其他人的流量从一开始就到达您的系统(例如,这就是交换机通常所做的)。

于 2013-01-13T11:07:40.073 回答