混雜模式就是接收所有經過網卡的數據包,包括不是發給本機的包,即不驗證MAC地址。普通模式下網卡只接收發給本機的包(包括廣播包)傳遞給上層程序,其它的包一律丟棄。
一般來說,混雜模式不會影響網卡的正常工作,多在網絡監聽工具上使用。
網卡具有如下的幾種工作模式:
1) 廣播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的幀為廣播幀,工作在廣播模式的網卡接收廣播幀。
2)多播傳送(MultiCast Model):多播傳送地址作為目的物理地址的幀可以被組內的其它主機同時接收,而組外主機卻接收不到。但是,如果將網卡設置為多播傳送模式,它可以接收所有的多播傳送幀,而不論它是不是組內成員。
3)直接模式(Direct Model):工作在直接模式下的網卡只接收目地址是自己 Mac地址的幀。
4)混雜模式(Promiscuous Model):工作在混雜模式下的網卡接收所有的流過網卡的幀,信包捕獲程序就是在這種模式下運行的。
網卡的缺省工作模式包含廣播模式和直接模式,即它只接收廣播幀和發給自己的幀。如果采用混雜模式,一個站點的網卡將接受同一網絡內所有站點所發送的數據包這樣就可以到達對於網絡信息監視捕獲的目的。
1,未設置支持promisc
[root@bogon libpcap-1.3.0]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.18 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe90:90e9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:90:90:e9 txqueuelen 1000 (Ethernet)
RX packets 1529593 bytes 116632252 (111.2 MiB)
RX errors 0 dropped 13 overruns 0 frame 0
TX packets 260 bytes 57720 (56.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2,設置支持promisc
[root@bogon libpcap-1.3.0]# ifconfig eth0 promisc
3,已設置支持promisc
[root@bogon libpcap-1.3.0]# ifconfig eth0
eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet 192.168.1.18 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe90:90e9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:90:90:e9 txqueuelen 1000 (Ethernet)
RX packets 1534849 bytes 117018556 (111.5 MiB)
RX errors 0 dropped 14 overruns 0 frame 0
TX packets 262 bytes 58237 (56.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4,設置不支持promisc
[root@bogon libpcap-1.3.0]# ifconfig eth0 -promisc