wireshark
tldr
wiresharkの見方はこれがわかりやすかった。
wiresharkはいれたんだよね。
これかな?
それぞれ起動
docker run -itd --rm --name meta tleemcjr/metasploitable2
docker run -itd --rm --name kali kalilinux/kali-rolling
ipaddressを取得
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' meta
→後でMETA_PORTとして使用
networkを作成
docker network create kali
networkに接続
docker network connect kali kali
docker network connect kali meta
アタッチ
docker exec -it kali bash
kaliにhping3を導入
apt-get update && apt-get install hping3 -y
hping3 -i u1 -S -p 80 META_PORT --rand-source
→ずっとやってるとPCが重くなる。
-S :SYNパケットの送信
-p 80 :宛先ポートの指定(今回はTCP/80)
-i u1 :1マイクロ秒間隔でパケットを送信する
--rand-source :送信元IPアドレスをランダムに偽装
https://www.iestudy.work/entry/2020/11/29/162156
アタッチ
docker exec -ti meta bash
netstat -tan
SYN_RECVが大量に表示される
tcp 0 0 172.17.0.2:80 78.6.252.137:4214 SYN_RECV
tcp 0 0 172.17.0.2:80 45.129.120.144:9313 SYN_RECV
tcp 0 0 172.17.0.2:80 25.132.44.250:43838 SYN_RECV
tcp 0 0 172.17.0.2:80 172.104.239.120:43653 SYN_RECV
tcp 0 0 172.17.0.2:80 86.87.55.218:4202 SYN_RECV
tcp 0 0 172.17.0.2:80 166.144.1.109:11365 SYN_RECV
tcp 0 0 172.17.0.2:80 117.154.169.65:4178 SYN_RECV
tcp 0 0 172.17.0.2:80 53.53.209.84:43883 SYN_RECV
tcp 0 0 172.17.0.2:80 189.18.2.54:2690 SYN_RECV
tcp 0 0 172.17.0.2:80 251.11.56.211:43881 SYN_RECV
tcp 0 0 172.17.0.2:80 117.221.227.216:2755 SYN_RECV
tcp 0 0 172.17.0.2:80 251.18.144.27:4219 SYN_RECV
tcp 0 0 172.17.0.2:80 132.242.36.68:4154 SYN_RECV
tcp 0 0 172.17.0.2:80 242.50.239.209:11251 SYN_RECV
tcp 0 0 172.17.0.2:80 26.108.189.231:11226 SYN_RECV
tcp 0 0 172.17.0.2:80 71.236.239.131:4208 SYN_RECV
tcp 0 0 172.17.0.2:80 151.205.55.72:9344 SYN_RECV
tcp 0 0 172.17.0.2:80 205.127.227.238:4173 SYN_RECV
どうせなら障害発生させて、状態みようかと思ったけどうまくいかないので、wiresharkだけにしてみる
sudo tcpdump dst host HOSTがうまくいかない
これにしてみよう
間違い、これ
緊急ポインタ見つけた
送信先ポートも一緒
送信元ポートはこれどうすれば戻せるんだ?二進数?あ、16しんすうか。57209?これはどうやったらわかるんだ?送信もとポートだから、自分のポートか。
そうなの!?知らんかったな
PCがPC側のポート番号の割当をします。例:ポート番号 50710番
→ポート番号はそのとき空いているポート番号が割り当てられます。
→ポート番号は都度変化します。
確かに違う値になったな。
7層から順に並んでたのか
packet detailsとpacket bytesを見比べれば、理解しやすいことに気づいた
これがイーサネットのフレームタイプか。
Wiresharkはデータリンク層でパケットをデコードするため、物理層の情報を常に取得できるわけではありません。場合によっては、キャプチャアダプタが物理層情報を提供し、Wiresharkを介して表示できます。
なるほどね
これがWiresharkで見られるシーケンスレイヤーです。
データリンク層
ネットワーク層
トランスポート層
アプリケーション層
見れないのは
物理層か
あれ、7層なかったっけ?
TCP/IPは4層なのね
OSIが7層
確かに4つしか出てないな。
これが3shakeなのか。