温馨提示×

Ubuntu Sniffer怎样捕获无线信号

小樊
33
2025-11-14 08:04:03
栏目: 智能运维

在 Ubuntu 上捕获无线信号的标准流程

一 准备与检查

  • 安装工具:需要抓包器(如 Wiresharktcpdump)与无线工具(aircrack-ng)。执行:sudo apt update && sudo apt install -y wireshark tcpdump aircrack-ng
  • 确认网卡与驱动:查看接口名(如 wlan0wlp0s20f3)与芯片:ip linklspci -knn | grep -i net
  • 检查是否支持监听模式:iw list | grep -A 10 "Supported interface modes" | grep -i monitor,若能看到 monitor 表示支持。
  • 注意:抓包需 root/sudo 权限;无线抓包需网卡支持 Monitor 模式

二 将无线网卡切换到监听模式

  • 清理干扰进程(避免自动切回 Managed 模式):sudo airmon-ng check kill
  • 开启监听模式:
    • 自动创建监听接口:sudo airmon-ng start wlan0(常见生成 wlan0monwlp0s20f3mon)。
    • 指定信道启动:sudo airmon-ng start wlan0 6(直接监听 6 信道)。
  • 验证:iwconfigip link 应能看到 monitor 接口。

三 捕获无线流量的两种方式

  • 使用 Wireshark 图形化抓包
    1. 启动:sudo wireshark,在“捕获接口”选择 wlan0mon/wlp0s20f3mon 开始。
    2. 设置信道与带宽(抓特定 AP 时务必一致):
      • 指定信道:sudo iw dev wlan0mon set freq 2437 20MHz(2.4GHz 信道 6
      • 指定带宽:sudo iw dev wlan0mon set freq 5500 80MHz(5GHz 5500 MHz80MHz
    3. 显示过滤建议:
      • 只看管理/控制帧:wlan.fc.type == 0 || wlan.fc.type == 1
      • 只看某 AP:wlan.bssid == 74:7D:24:0E:07:D8
      • 只看 EAPOL(握手):eapol
  • 使用 tcpdump 命令行抓包
    • 抓取并保存:sudo tcpdump -i wlan0mon -w wireless.pcap -s 0 -vv
    • 读取文件:tcpdump -r wireless.pcap -nn
  • 使用 airodump-ng 扫描与定向抓包
    • 扫描周边 AP:sudo airodump-ng wlan0mon
    • 定向抓取某 AP(信道 6、保存到文件):sudo airodump-ng wlan0mon -c 6 --bssid 74:7D:24:0E:07:D8 -w ./test.pcap

四 解密 WPA/WPA2 流量(可选)

  • 前提:必须捕获到客户端与 AP 的 4 次握手(EAPOL),建议在开始抓包后再让客户端连接目标 SSID
  • Wireshark 配置:Edit → Preferences → Protocols → IEEE 802.11,点击 Edit,添加密钥,选择 wpa-pwd,格式为:密码:SSID(如 MyPass:MyWiFi)。
  • 过滤查看:eapol || wlan.bssid == <AP_MAC>

五 常见问题与收尾

  • 抓不到包或丢包多:确认网卡确实支持 Monitor、已切到正确 信道/带宽,并关闭会切换信道的服务(如 NetworkManager、wpa_supplicant、avahi-daemon):sudo airmon-ng check kill
  • 接口名变化:部分驱动会生成 wlan0monwlp0s20f3mon,以 iwconfig/ip link 输出为准。
  • 恢复托管模式:
    • 方法一:sudo airmon-ng stop wlan0mon
    • 方法二(旧接口):sudo iwconfig wlan0 mode managed && sudo ifconfig wlan0 up
  • 合法合规:仅在自有网络或取得明确授权的环境中抓包;抓包文件含敏感信息,需妥善保护。

0