0

2 つの SIP エンドポイント間の RTP トラフィックを破損できると主張するohrwurmというツールを評価しようとしています。ソースコードを読んでも、うまくいくとは思えません。試してみる前に、他の人の意見を聞きたいです。

その前提は簡単です:

  • エンドポイント A の IP アドレスは 192.168.0.11、エンドポイント B の IP アドレスは 192.168.0.22 であるとします。
  • A および B と同じサブネット上の 3 番目のボックス C で、2 つの SSH セッションで次のコマンドを実行します。
    • arpspof 192.168.0.11
    • arpspof 192.168.0.22
  • オーワームを実行します。

ohrwurm のソース コードを見ると、次のことが行われます。

  • /proc/sys/net/ipv4/ip_forward を 1 に設定します。
  • libpcap を無差別モードで使用して、上記の 2 つのボックス間のすべての IP パケットを傍受します。
  • SIP のパケットについては、RTP ポート番号を取得します。
  • UDP であり、以前に取得した 2 つの RTP ポート間のパケットについては、RTP の内容をファジングします。

これは私が得られないものです。arpspoof'ing により、A と B の間のすべての IP トラフィックが C を通過することを受け入れます。我ら。

しかし、libpcap は読み取り専用だと思いましたか? 無差別モードでスニッフィングしたパケットをその場で変更するにはどうすればよいですか? ohrwurm.c の 401 行目で、RTCP パケットをドロップしようとしていることに気付くでしょう。これは可能ですか?

私は libpcap について何も知らないので、もっと知りたいと思っています! 私を教育してください。ありがとう。

4

1 に答える 1

0

libpcap はパケットを変更できません。それらを監査するためにのみ使用できます。インターフェイスからカーネルへのパケットを取得するための基礎と考えることができます。

Arpspoof は、ARP スプーフィングを実行するために「Libnet」などの他のライブラリを必要とします。 http://arpspoof.sourceforge.net/ (「arpspoof に関連するリンク」セクションを参照)

Libnet には、複数のプロトコルへのアクセスを提供する API が導入されています。任意のパケットを作成したり、その場で変更したりするために使用できます。 http://libnet.sourceforge.net/

優れたチュートリアルは次の場所にあります: http://networksecurity.org.ua/0596007949/networkst-chp-11-sect-4.html

于 2012-02-04T17:45:18.453 に答える