混杂模式介绍:
混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃;简单的讲,混杂模式就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址,当网卡处于混杂模式时,该网卡就具有“广播地址”,它对所有遇到的每一个数据帧都产生一个硬件中断,以便提醒操作系统处理流经过该物理媒体上的每一个报文包。
网卡工作模式:
广播模式(Broad Cast Model):它的物理地址是0Xffffff的帧为广播帧,工作在广播模式的网卡接受广播帧。
多播传送(MuliCast Model):多播传送地址作为目的物理地址的帧可以被组内的其他主机同时接收,而组外主机却接收不到。但是如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员
直接模式(Derect Model):工作在直接模式下的网卡只能接收目的地址是自己的Mac地址的帧
混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧。
网卡默认的工作模式包含广播模式和直接模式,也就是说,只接收广播帧和发给自己的帧,如果改为混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据包,这样就可以达到对于网络信息监视捕获的目的。
Linux下网卡混杂模式设置方法
开启: ifconfig eth0 promisc 关闭: ifconfig eth0 -promisc