周囲の無線 LAN 通信を観察

周囲にいる無線 LAN 子機、親機の通信を観察。

前提

  • CentOS Linux release 7.2.1511
  • USB の無線 LAN 子機が wlan0 として OS から認識されている
# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]

# iwconfig
.
.
.

wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

# ifconfig
.
.
.

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether da:8d:95:c0:e5:77  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

手順

必要パッケージインストール。

# yum install tcpdump wireless-tools

wlan0 のインタフェースをモニターモードに変更。

# ifconfig wlan0 down
# iwconfig wlan0 mode monitor
# ifconfig wlan0 up

Mode:ManagedMode:Monitor に変わっていることを確認。

# iwconfig
.
.
.

wlan0     IEEE 802.11bgn  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off


Channel Hopping (無線 LAN のチャンネルを素早く切り替えて、擬似的に全チャンネルを監視する) 用のスクリプトを配置して実行。

hopper.sh

#!/bin/bash

while true  
do  
    for channel in {1..14}
    do
        iwconfig wlan0 channel $channel
        sleep 0.01s
    done
done  
# ./hopper.sh &

tcpdump を実行するとなんかダンプされるはず。 (環境によってはたくさん流れるので、適宜MACアドレスで grep とかすると良い。)

# tcpdump -vv -i wlan0 -e | grep -i xx:xx:xx:xx:xx:xx
tcpdump: listening on wlan0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
12:39:44.856717 1.0 Mb/s 2412 MHz 11b -55dBm signal antenna 1 Protected 0us xx:xx:xx:xx:xx:xx (oui Unknown) BSSID:xx:xx:xx:xx:xx:xx (oui Unknown) SA:xx:xx:xx:xx:xx:xx (oui Unknown) Data IV:e72808 Pad 20 KeyID 1
.
.
.

参考