そのため、Digitalsquid (http://digitalsquid.co.uk/netspoof/) によって開発された Network Spoofer で遊んだ後、同様のことを行う ac プログラムを作成することによって、その内部動作をよりよく理解しようとしました。
私のプログラムは現在、ソース IP、ソース mac、被害者 ip、被害者 mac の 4 つのパラメーターを受け取り、それらを使用して ARP 応答パケットを送信します。ホーム ネットワークでプログラムをテストするときは、送信元 IP をルーターの IP に、送信元 mac を偽物に、被害者 ip をラップトップの ip に、被害者 mac をラップトップのワイヤレス カード mac に設定するようなことを行います。
問題は、tcpdump を使用してワイヤレス カードを監視することでパケットが送受信されていることを確認できますが (つまり、「01:43:23.656745 ARP、イーサネット (len 6)、IPv4 (len 4)、返信」のようなものが表示されることです)。rouer-ip is-at bogus-mac-address、長さ 28 インチ、これは私が予想したとおりです)、ルーターの ARP キャッシュ エントリは同じままです (つまり、正しい MAC アドレスを保持しています)。
ここで何が問題なのか、なぜ ARP キャッシュをポイズニングできなかったのか、よくわかりません。私のOSであるUbuntu 12.04が未承諾のARPパケットをドロップしている可能性があることをどこかで読んだので、/proc/sys/net/ipv4/conf/wlan0/arp_acceptを1に設定しようとしました-運が悪い. また、別の記事で提案されているように、IP 転送をオンにしようとしました (/proc/sys/net/ipv4/ip_forward を 1 に設定) が、まだ運がありませんでした。
問題が何であるかについて誰かが私にいくつかの指針/ヒントを与えることができれば、本当に感謝しています. また、私の理解に誤りがあった場合は訂正してください。私は C プログラミングと ARP スプーフィングの分野ではまったく新しいものです。
ありがとう!
日