Linux で使える USB無線LANアダプタの調査

# はじめに
Linux でモニタモードが使える USB無線LANアダプタの調査を行いました。



結果として、調査した無線LANアダプタの中にモニターモードが使えるものはありませんでした。
しかし、調査過程で動作するドライバ、コマンドなどが分かったので載せておきます。



### 追記 2017/5/1
偶然モニタモードが使える無線アダプタ見つけました！！

# 調査対象

- GW-450S 【手裏剣
  - ID 2019:ab32 PLANEX
  - https://www.planex.co.jp/products/gw-450s/
- GW-450D2
  - ID 2019:ab31 PLANEX
  - https://www.planex.co.jp/products/gw-450d2/
- GW-USFang300
  - ID 2019:4903 PLANEX GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
  - https://www.planex.co.jp/product/wireless/gw-usfang300/

- ELECOM WDC-433SU2M
  - ID 7392:b711 Edimax Technology Co., Ltd
  - http://www2.elecom.co.jp/products/WDC-433SU2MBK.html

- TP-LINK AC600
  - ID 148f:761a Ralink Technology, Corp.
  - https://www.amazon.co.jp/TP-LINK-433Mbps-150Mbps-Archer-T2UH/dp/B00L31BL5S

- Aukey
  - ID 0e8d:7610 MediaTek Inc.
  - https://www.amazon.co.jp/dp/B01H598X1G
  - https://www.amazon.co.jp/dp/B01DTRJI8K <- こっち?

- __WLI-UC-AG300N__
    - ID 0411:012e BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-AG300N Wireless LAN Adapter
    - http://amzn.asia/hEDa1ld


# 調査環境
Arch Linux を使いました。
以下、カーネルと gcc のバージョン

```bash
$ uname -r
4.5.4-1-ARCH
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share
/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release                                    Thread model: posix
gcc version 6.2.1 20160830 (GCC)
```



# 調査内容
ドライバを導入して `iwconfig`, `iw dev` で認識するか、 `airmon-ng` (aircrack-ng) が動作するか、について調査しました。


# 調査結果


| 無線アダプタ | iwconfig | iw | airmon-ng | ドライバ | 備考 |
|:-------------|:--------:|:--:|:---------:|----------|------|
|GW-450S       | ○ | × |× | https://github.com/gnab/rtl8812au|$ iwconfig mode monitor => opration not permitted |
|GW-450D2      | ○ | ○ | × | https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916 | `yaourt -S mt7610u_wifi_sta`, $ airmon-ng => Operation not supported (-95) |
|GW-USFang300  | ○ | ○ | × | https://github.com/lwfinger/rtl8192du.git | モニターモードにはなるが、周波数を変えることができない |
|WDC-433SU2M   | ○ | ○ | × | https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916 | |
|TP-LINK AC600 | ○ | ○ | × | https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916 | |
|Aukey         | ○ | ○ | × | https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916 | ||
|WLI-UC-AG300N | ○ | ○ | ○ | Arch Linux(linux-lts カーネル?) では標準で rt2800usb が当たる |2.4G 5G 共に問題なく使える|



# おわりに

調査したUSB無線LANアダプタに、モニターモードが使えるものが存在しないことが分かりました。


WLI-UC-AG300N でモニタモードが使えることが判明しました。

補足として、USB ではないですが Intel の WiFi カードが簡単にモニタモードで使えます(6205 など)。

# 参考リンク
- LinuxのUSB無線LAN子機の対応状況 - Qiita http://qiita.com/yukoba/items/d36930f4b8149ca36d36