M
我读到,看到in标志netstat -i
可以判断哪个接口处于混杂模式
我运行它,发现 eth1 处于混杂模式
$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth1 1500 0 1770161198 0 0 0 57446481 0 0 0 BMRU
lo 16436 0 97501566 0 0 0 97501566 0 0 0 LRU
我检查过的所有机器(所有 Centos6.0,包括虚拟的和物理的)似乎都是这种情况,除非有人运行任何基于 pcap 的应用程序(sudo lsof | grep pcap
什么都不显示),否则知道为什么以太网设备会处于这种模式吗?
我在任何配置文件中都没有看到关于混杂的提及(sudo grep -r promis /etc
)
有什么想法可以让界面进入这种模式以及为什么?
ps 我看到的大多数帖子似乎都与安全有关,但这不是
编辑:只是一个观察,我注意到内核会在接口进入和退出 promisc 模式时进行记录(具体来说,当未指定 -p 标志时,使用 tcpdump 可以看到日志,而使用该选项时则看不到日志)。这有助于(对我而言)确认可接受的答案。
Dec 5 11:12:23 XXXX kernel: device eth1 entered promiscuous mode
Dec 5 11:12:29 XXXX kernel: device eth1 left promiscuous mode
答案1
米是多播:
# netstat -i | grep ^lo
lo 16436 0 588800 0 0 0 588800 0 0 0 LRU
# ifconfig lo multicast
# netstat -i | grep ^lo
lo 16436 0 588800 0 0 0 588800 0 0 0 LMRU
磷是混乱的:
# ifconfig lo promisc
# netstat -i | grep ^lo
lo 16436 0 588880 0 0 0 588880 0 0 0 LPRU