スプラトゥーン3の通信相手を見ながらプレイする
スプラトゥーンの対戦相手のIPアドレスを見ながらプレイする。
マッチングしたタイミングや、相手のISPをみる、地域を見るなどで、ラグが予想できたり、テザリング勢が混じってると、回線切断の危険性が高い・ラグが多い、スプラトゥーン3で不快なPlayerとマッチングしないように工夫する礎石になりそうなのでログを見ることにする。
#!/usr/bin/env bash MAC_ADDR='18:c2:bf:xx:xx:XX' if [[ $( ip neigh | grep $MAC_ADDR ) =~ 192.168.[0-9]+.[0-9]+ ]]; then addr=$BASH_REMATCH; echo $addr TCP_DUMP='tcpdump -i br-lan -s 0 'dst $addr ' 2>/dev/null' cmd="timeout 2 $TCP_DUMP | cut -d ' ' -f 3 | sort | uniq " echo $cmd watch -dc -n 3 "$cmd" fi
利用した各種コマンドについて。
上記のスクリプトで利用したコマンドについて
動作の仕組みとしては、timeout で tcpdump を指定秒間取り出し、その結果をsort uniq で通信相手を絞る。このコマンドをwatch コマンドで定期実行する。って感じですね。
MACアドレスからIPを取り出す
ip neigh | grep $MAC_ADDR =~ 192.168.[0-9]+.[0-9]+ ; echo $BASH_REMATCH
IPアドレス宛のパケットを表示する
tcpdump -i br-lan -s 0 'dst $addr ' 2>/dev/null
2秒経ったら終了させて、sort/uniq する
timeout 2 $TCP_DUMP | cut -d ' ' -f 3 | sort | uniq
3秒に一回実行する
watch -dc -n 3 "$cmd"
指定時間をキャプチャする
tcpdump -i eth0 -s 0 -w /tmp/01.pcap -G 30 dst 192.168.2.109 and udp
pcap は packet capture の略だ思う
スプラトゥーン3のパケットをキャプチャする。
UDPでゲームしているはずなのでUDPで絞ると少なくて良いかもしれない。
tcpdump -i eth0 dst 192.168.2.109 and udp