Arch Linuxでアクセスポイントを立てて、そこに接続したスマホの通信をキャプチャします。
思い出しながら書いているのでもしかしたら何か抜けている手順があるかもしれません。
アクセスポイントについてはここを見れば基本的にはどうにかなります。
アクセスポイントを立てる
そもそもデバイスが対応していないと試合終了なのでまずは確かめます
$ 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が立ち上がるのでスマホで接続します
できました。
ちなみにこのスマホは昔使っていたGalaxy S9です。購入から一年も経たないうちにカメラがおかしくなって買い替える羽目になってしまい大変悲しかったです。
パケットを見る
wiresharkを立ち上げます
$ sudo wireshark
起動したら wlp2s0 を選んでキャプチャを開始します
スマホのブラウザでwww.example.comにアクセスします
www.example.comのIPアドレスを問い合わせるためのDNSパケットが確認できました。無事キャプチャできているようです。
3つ下のDNSパケットで、www.example.comのIPアドレスは93.184.216.34であることがわかります。
ついでにSYN - SYN ACKのTCPストリーム
HTTPストリーム
以上です