在 ubuntu上设置混杂模式
本文介绍在Ubuntu系统上查看网卡是否是混杂模式,以及设置混杂模式。
确保防火墙允许混杂模式
对于某些防火墙配置,你可能需要允许混杂模式:
sudo iptables -A INPUT -i [interface_name] -j ACCEPT
sudo iptables -A FORWARD -i [interface_name] -j ACCEPT
检查网卡是否已设置为混杂模式
使用 ifconfig
打开终端。
输入以下命令并按回车键:
ifconfig -a
查找您的网络接口(例如 eth0 或 wlan0)。如果网卡处于混杂模式,您将看到一条类似下面的行:
eth0 ... flags=0x883 <<UP,BROADCAST,RUNNING,PROMISC,MULTICAST,DEBUG>
在这里,“flags”字段将包括 PROMISC,这表明网卡处于混杂模式。
使用 ethtool
打开终端。
输入以下命令并按回车键:
ethtool [interface_name]
将 [interface_name] 替换为您要检查的网卡名称。
如果网卡处于混杂模式,输出中将包含以下行:
Rx Hardware Filters: off
Tx Hardware Filters: off
或者
rx filters: 0 off
tx filters: 0 off
这表明硬件过滤被关闭,网卡处于混杂模式。
使用 ip link
打开终端。
输入以下命令并按回车键:
ip link show [interface_name]
将 [interface_name] 替换为您要检查的网卡名称。
如果网卡处于混杂模式,输出中将包含 promisc 标志:
[interface_name]: <...> state UP group default qlen 1000
link/ether [MAC地址] ...
mtu 1500 qdisc mq state UP mode DEFAULT group default
txqueuelen 1000 (TX bytes 0)
rxqueuelen 1000 (RX bytes 0)
promiscuity 1
carrier 1
在这里,“promiscuity” 的值如果是大于0,那么表示网卡处于混杂模式。