web-dev-qa-db-ja.com

WiresharkでLANデバイスのパケットをキャプチャするにはどうすればよいですか?

セットアップ

  • ネットワークワイヤレスに接続された、Wiresharkを実行しているPC(OSのバリエーションに問題がある場合は、LinuxでWiresharkを使用してください)。

  • 同じLANにワイヤレスで接続された別のデバイス。

  • ワイヤレスネットワークはWPA2暗号化を使用

質問

私のPCでWiresharkを使用して、LAN上の他のデバイスによって送受信されたすべてのパケットをキャプチャするにはどうすればよいですか?

Debianで実行されているWiresharkを使用して、Androidデバイスで送受信されるすべてのYouTubeパケットをキャプチャします。

8
Mars

両方がWiFiを使用している場合(WPAベースの事前共有キー暗号化を使用))は、非常に単純です(有線ネットワークを使用している場合はそうではありません)。

  • コンピューターでWiresharkを起動します
  • Set WPA key Wiresharkの設定
  • ワイヤレスインターフェイスでパケットキャプチャを開始します(Linuxでは、ワイヤレスデバイスをモニターモードにしてすべてのパケットを収集する必要があります)
  • ターゲットデバイスを強制的にAPに再関連付けします(Wi-Fiをオフ/オンにする、APをオフ/オンにするなど)
  • Wiresharkで4ウェイハンドシェイクを観察する(前のステップに感謝)
  • Androidデバイスでトラフィックを生成するために必要なことをすべて実行します
  • Wiresharkでワイヤレストラフィックを暗号化せずに確認する
  • 楽しい!

WPAキーがWiresharkで設定されている場合、その場でパケットが復号化され、Androidデバイスのトラフィックを表示できます。

暗号化解除に必要な手順を含むように編集WPA 4ウェイハンドシェイクを監視している保護されたトラフィック

6
mdeous

まあ、それは最も簡単(またはbestアイデア)で、コンピュータまたはAndroidデバイスから直接トラフィックをキャプチャすることはできません。この種のことをしたいので、ワイヤレスルーターにsshを起動してtcpdump -i brを実行し、ルーター経由でインターネットにアクセスしているすべてのデバイスからのトラフィックをキャプチャできるようにします。 wifiルーターにsshで接続し、ルーターのbusybox(またはその他の組み込みLinux)にtcpdumpを配置すれば、準備は完了です。上記のコマンドを実行するだけです。

3

セットアップが少し難しいMITM攻撃(中間者攻撃)を実行したくないと仮定すると、ネットワークベースのソリューションを提案します。

  1. アクセスポイントをセットアップする
  2. アクセスポイントをハブに接続します(通常のネットワークケーブルを使用)
  3. コンピューター(wiresharkが実行されているはず)をハブに接続します(通常のネットワークケーブルを使用)
  4. ハブをルーターに接続します(ここでも、通常のネットワークケーブルを使用します)
  5. Wiresharkでスニッフィングを開始します:)
  6. Androidまたはその他のモバイルデバイスをアクセスポイント(Wifi)に接続します
0
user575915

Wiresharkの代わりにBurpを使用しましたが、実際には 数週間前にこれをいじっていました でした。ソフトウェアで定義されたルーターを使用し、SSHトンネルを介してIPTablesのREDIRECTターゲットでリダイレクトすることにより、トラフィックをペンテストボックス経由でルーティングしました。これはやり過ぎかもしれませんが、トラフィックをどこにでもリダイレクトできます。 Linuxを実行するルーターからこれを行うこともできます。

その他のオプションには、コンピューターをアクセスポイントとして設定し、デバイスをそれに接続する方法や、@ MatToufoutuで説明されている手法を使用してWiresharkでトラフィックを復号化する方法がありますが、ノイズや範囲外に隠れているトラフィックを見逃す可能性があります。

0
David