首页 > 代码库 > 理解网卡工作模式中的混杂模式

理解网卡工作模式中的混杂模式

混杂模式,英文名称为Promiscuous Mode,它是指一台机器能接收所有经过它的数据流,而不论数据流中包含的目的地址是否是它自己,此模式与非混杂模式相对应。在非混杂模式下,网络适配器仅侦听自己的 MAC 地址上的流量。在混杂模式下,它可以侦听所有数据包。默认情况下,网络适配器设置为非混杂模式。混杂模式是数据链路层(L2)中的一个安全策略。

混杂模式下的网卡能接收所有通过它的数据流,不管是什么格式、地址(任何一个在同一冲突域中传输的所有包),在接收到数据包后由网络层判断确定这个包如何处理,例如是递交到上层处理还是交给下层转发还是丢弃。而非混杂模式中网卡只把发给它自己的包(包括广播包)传递给上层,其它的包全部丢弃。

举一个简单的例子,一个交换机上连接着3个计算机,分别为c1、c2和c3,非混杂模式下c1给c2发送数据包c3是无法收到的,而在混杂模式下c1给c2发送数据包c3却可以收到,此时c3就是一个网络的监听者(偷听者),而这种监听c1和c2是不会察觉的。因此,有人称混杂模式叫做监听模式。

根据网络资料,网卡有四种模式,分别为广播模式、多播模式、混杂模式和非混杂模式(直接模式)。具体的可以参考Google。

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1585438

理解网卡工作模式中的混杂模式