網絡卡工作模式有4種,分別是:
廣播(broadcast)模式
多播(multicast)模式
單播模式(unicast)
混雜模式(promiscuous)。
在混雜模式下的網絡卡能夠接收一切通過它的資料,而不管該資料目的位址是否是它。如果通過程式將網絡卡的工作模式設定為 「混雜模式」,那麼網絡卡將接受所有流經它的資料幀.
混雜模式就是接收所有經過
網絡卡的資料報,包括不是發給本機的包。預設情況下網絡卡只把發給本機的包(包括廣播包)傳遞給上層程式,其它的包一律丟棄。簡單的講,混雜模式就是指網絡卡能接受所有通過它的資料流,不管是什麼格式,什麼位址的。事實上,計算機收到資料報後,由網路層進行判斷,確定是遞交上層(傳輸層),還是丟棄,還是遞交下層(資料鏈路層、mac子層)**。
通常在需要用到
抓包工具,例如
ethereal、
sniffer、capsa時,需要把網絡卡置於混雜模式
以root使用者執行
ifconfig eth0 promisc 設定混雜
ifconfig eth0 -promisc 取消混雜
[root@mip-123456 ioctl]
# ifconfig eth0
eth0 link encap:ethernet hwaddr 00:22:68:3c:9c:f0
inet addr:172.24.149.212 bcast:172.24.149.255 mask:255.255.255.0
inet6 addr: fe80:
:222:68ff:fe3c:9cf0/64 scope:link
up broadcast running
promisc
multicast mtu:1500 metric:1
rx packets:3653 errors:0 dropped:0 overruns:0 frame:0
tx packets:6630 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:6255432 (5.9 mib) tx bytes:2379200 (2.2 mib)
interrupt:233 base address:0xa000
設定網絡卡混雜模式
關鍵api ioctlsocket 設定雜收模式 巨集 define sio rcvall 0x80000000 0x18000000 1 ip頭 typedef struct ipheader ipheader tcp頭 typedef struct tcpheader tcpheader 流程 ...
linux網絡卡混雜模式
1 網絡卡混雜模式promiscuous與linux上混雜模式的設定 2 linux下使用socket進行網絡卡抓包 1 3 linux下使用混雜模式抓包 2 4 linux下發包 3 混雜模式就是接收所有經過網絡卡的資料報,包括不是發給本機的包,即不驗證mac位址。普通模式下網絡卡只接收發給本機的...
linux網絡卡混雜模式
混雜模式就是接收所有經過網絡卡的資料報,包括不是發給本機的包,即不驗證mac位址。普通模式下網絡卡只接收發給本機的包 包括廣播包 傳遞給上層程式,其它的包一律丟棄。一般來說,混雜模式不會影響網絡卡的正常工作,多在網路監聽工具上使用。網絡卡具有如下的幾種工作模式 1 廣播模式 broad cast m...