アクセスポイントを立てて、接続したスマホの通信をWiresharkでキャプチャする

Arch Linuxでアクセスポイントを立てて、そこに接続したスマホの通信をキャプチャします。

思い出しながら書いているのでもしかしたら何か抜けている手順があるかもしれません。

アクセスポイントについてはここを見れば基本的にはどうにかなります。

ソフトウェアアクセスポイント - ArchWiki

アクセスポイントを立てる

そもそもデバイスが対応していないと試合終了なのでまずは確かめます

$ iw list で、Supported interface modesセクションに「AP」があればOKです

Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * P2P-client
                 * P2P-GO
                 * P2P-device

ありました。

続いてcreate_apをインストールします

sudo pacman -S create_ap

使い方はこちら

https://bbs.archlinux.org/viewtopic.php?pid=1269258

今回はパケットの中身を見たいので、Internet sharing from the same WiFi interfaceを使います

Internet sharing from the same WiFi interface:

./create_ap wlan0 wlan0 MyAccessPoint MyPassPhrase

僕の場合interfaceはwlp2s0なので、

$ sudo create_ap wlp2s0 wlp2s0 hoge hogehoge1

とやるとアクセスポイントhogeが立ち上がるのでスマホで接続します

f:id:Kenta-s:20200315215202j:plain

できました。

ちなみにこのスマホは昔使っていたGalaxy S9です。購入から一年も経たないうちにカメラがおかしくなって買い替える羽目になってしまい大変悲しかったです。

パケットを見る

wiresharkを立ち上げます

$ sudo wireshark

起動したら wlp2s0 を選んでキャプチャを開始します

f:id:Kenta-s:20200315205124p:plain

スマホのブラウザでwww.example.comにアクセスします

f:id:Kenta-s:20200315215228j:plain

www.example.comIPアドレスを問い合わせるためのDNSパケットが確認できました。無事キャプチャできているようです。

3つ下のDNSパケットで、www.example.comIPアドレスは93.184.216.34であることがわかります。

f:id:Kenta-s:20200315213521p:plain

ついでにSYN - SYN ACKのTCPストリーム

f:id:Kenta-s:20200315213544p:plain

HTTPストリーム

f:id:Kenta-s:20200315220159p:plain

以上です