温馨提示×

Ubuntu Sniffer怎样设置

小樊
37
2026-01-04 12:07:27
栏目: 智能运维

Ubuntu 下 Sniffer 的设置指南

一、先明确你的目标与工具选择

  • 抓有线/本地回环流量:优先用tcpdump(轻量、稳定)或Wireshark(图形界面、分析强)。
  • Wi‑Fi 管理/控制帧或按信道分析:需将网卡切到Monitor 模式,再配合抓包工具。
  • 抓包通常需要管理员权限或对抓包设备做授权(如将用户加入特定组、设置 capabilities 或启用非 root 抓包)。

二、快速上手方案(适合大多数场景)

  • 方案A|tcpdump 最小可用配置
    • 安装:sudo apt update && sudo apt install -y tcpdump
    • 查看网卡:ip a(常见如eth0、ens33、wlp2s0
    • 实时抓包:sudo tcpdump -i eth0 -nn -v
    • 保存为文件:sudo tcpdump -i eth0 -w capture.pcap
    • 读取文件:tcpdump -r capture.pcap -nn -vv
    • 常用过滤:
      • 仅 HTTP:port 80
      • 某主机:host 192.168.1.100
      • 某网段:net 192.168.1.0/24
  • 方案B|Wireshark 图形化抓包
    • 安装:sudo add-apt-repository universe && sudo apt install -y wireshark
    • 安装时选择Yes允许非超级用户抓包;或事后执行:sudo dpkg-reconfigure wireshark-common,再执行:sudo usermod -aG wireshark $USER,并重启或重新登录。
    • 启动后在界面选择网卡开始捕获;如需长期非 root 抓包,可设置 capabilities:sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap(仅对 dumpcap 授权,更安全)。

三、Wi‑Fi 802.11 抓包设置(Monitor 模式)

  • 查看并准备网卡:ip a(确认无线接口名,如wlp0s20f3
  • 关闭干扰进程并启用监听:
    • sudo airmon-ng check kill
    • sudo airmon-ng start wlp0s20f3
    • 监听接口通常变为wlp0s20f3mon
  • 指定信道与带宽(示例):
    • 固定到信道 100:sudo airmon-ng start wlp0s20f3 100
    • 40 MHz:sudo iw dev wlp0s20f3mon set freq 5500 HT40+
    • 80 MHz:sudo iw dev wlp0s20f3mon set freq 5500 80MHz
  • 抓包:
    • 命令行:sudo tcpdump -i wlp0s20f3mon -nn -vv
    • 或 Wireshark:选择wlp0s20f3mon开始捕获
  • 结束监听并恢复:sudo airmon-ng stop wlp0s20f3mon
  • 提示:进入Monitor 模式后通常无法上网,这是正常现象;抓完务必切回Station 模式

四、进阶与常见问题

  • 权限与安全
    • 抓包本质需要访问网卡底层,建议使用sudo或按上文为Wireshark/dumpcap配置wireshark 组capabilities,避免长期以 root 运行 GUI。
  • 混杂模式与接口选择
    • 有线抓包如需看到经过本网卡的所有流量,可开启混杂模式(如 ifconfig eth0 promisc);但在很多现代接口/驱动上,抓包库会按需启用,不一定必须手动设置。
  • 过滤器语法
    • 使用BPF语法:host、net、port、tcp/udp、icmp、vlan、and/or/not 等组合,能显著降低负载、提升分析效率。
  • 性能与存储
    • 长时间抓包请写入文件并合理设置snaplen(抓取长度),必要时按时间/大小分段;高吞吐场景优先在服务器本机抓包并使用远程分析

五、合规与安全提示

  • 仅在自有网络或取得明确授权的主机上抓包;不要拦截、篡改或注入流量。
  • 抓包可能触及隐私与合规要求,请遵守当地法律法规及单位安全策略。

0