ワイヤレス作業の基本を正しく理解していれば、ワイヤレスLANを介して他のコンピューターのトラフィックを盗聴できるはずです。そこで、2台目のコンピューターを無線LANに接続し、http
を次のようなコマンドで使用して、ネットワークを通じてtcpdump
トラフィックを盗聴できるかどうかを確認しようとしました。
Sudo tcpdump -v -i wlan0 dst 10.0.0.7
10.0.0.7
は、LAN上で探知したいコンピューターのIPです。しかし、残念ながら、出力として何も得られません(ICMPエコー要求を除いて、ping 10.0.0.7
、つまりtcpdump
は問題なく動作します:))。
何が欠けていますか?
ワイヤレスネットワーク上のすべてのトラフィックを盗聴するには、ネットワークインターフェイスをモニターモードに設定する必要があります。したがって、tcpdump
を起動する前に、次の手順を実行します。
Sudo ifconfig wlan0 down
Sudo iwconfig wlan0 mode Monitor
Sudo ifconfig wlan0 up
これにより、インターフェースがオフになり、モニターモードが有効になり、再びオンになります。すべてのネットワークインターフェイスカードがモニタモードをサポートしているわけではないことに注意してください。
NICを通常に戻すには、mode Managed
を使用して同じコマンドを発行します。
余談ですが、ルーターが使用する暗号化スキームが原因で、スニファーのトラフィックは、期待どおりに見えない可能性があります。ただし、自分のネットワークをスニッフィングしていることを考えると、ほとんどの場合、トラフィックを復号化できます。 ここ は、Wireshark
の代わりにtcpdump
を使用する方法の簡単な概要です。これは、グラフィカルユーザーインターフェイスも備えています。キャプチャのためにtcpdump
を保持する場合は、-w
オプションを使用してトラフィックを.pcap
ファイルにダンプし、後でそのファイルをWireshark(または他のパケットアナライザー)で開くこともできます。 。
ネットワークでWPAまたはWPA2暗号化を使用している場合は、ルーターと監視する各デバイスとの間のそれぞれのハンドシェイクをキャプチャする必要があることに注意してください。リンクしたWireshark wikiの記事では、その方法について説明しています。
WPAおよびWPA2は、マシンがWi-Fiネットワークに参加するときに発生するEAPOLハンドシェイクから派生したキーを使用して、トラフィックを暗号化します。復号化しようとしているセッションに4つのハンドシェイクパケットがすべて存在しない限り、Wiresharkはトラフィックを復号化できません。ディスプレイフィルターeapolを使用して、キャプチャ内のEAPOLパケットを見つけることができます。
マシンのハンドシェイクをキャプチャするには、キャプチャの進行中にマシンを強制的に(再)ネットワークに参加させる必要があります。
まず、これがオープンネットワークであるか、WPA protectedであるかを指定しませんでした。これは違いを生みます。WPA問題が発生しています。
あなたは真ん中の男ではありません。 10.0.0.7からのパケットは、そのコンピューターから直接ゲートウェイ(つまり10.0.0.1)に送られ、インターネットを経由してバイパスされます。スプーフィングをarpし、ゲートウェイとそのユーザー(10.0.0.7)の間に自分自身を挿入する必要があります。それを行うための多くのツールがあります。通常、最初にカーネルでIP転送を設定してから、arpspoof <victim ip> <gateway ip>
のようなコマンドを実行します