揭秘 Linux 网卡混杂模式:想学就看这篇指南

2025-08-12 09:33:59 RAIZ

经常在技术论坛看到有人问:“开启网卡混杂模式算不算黑客行为?” 其实这个问题本身就存在误解。混杂模式只是 Linux 网卡的一种工作状态,就像手机的 “飞行模式” 一样,关键在于怎么用。今天就来好好聊聊这个被过度神秘化的技术点。


使用 ip 命令

  1. 查看网卡名称:

    ip link show

    ifconfig -a

    确认要设置的网卡名称(如 eth0ens33 等)。

  2. 开启混杂模式:

    sudo ip link set <网卡名> promisc on

    例如:

    sudo ip link set eth0 promisc on
  3. 验证是否开启:

    bash
    ip link show <网卡名>

    输出中若有 PROMISC 标志,则表示已开启:

    2: eth0: <BROADCAST,PROMISC,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000

注意事项

  1. 权限要求:需使用 sudo 或 root 用户权限。
  2. 临时生效:重启网卡或系统后配置会失效。若需持久化,可通过以下方式:
  • 创建 systemd 服务单元 或 开机脚本(如 /etc/rc.local)。
  • 网络管理工具(如 Netplan、NetworkManager)通常不支持直接配置混杂模式。
  • 用途场景:混杂模式常用于网络抓包(如 Wireshark、tcpdump)、网络监控或入侵检测系统(IDS)。

  • 验证工具

    • 使用 tcpdump 抓包测试:
      sudo tcpdump -i <网卡名> -n
      在混杂模式下,网卡会捕获所有经过网络的流量(而不仅是目标为本机的数据包)。

我要咨询