5

元のIPアドレスとアクセスされていた完全なURLを抽出するライブデータスニファーをPythonで作成する方法を知っている人はいますか? urlsnarf からデータをプルすることを検討しましたが、IPv6 はサポートされていません (接続は IPv6 ホストになります)。

tcpdump からデータを取得して GET/POST を greping すると、Web サーバー上のパスだけが残り、関連する FQDN を取得できません。残念ながら、環境の構成により、IPv6 TPROXY で SQUID を使用することはできません。

libpcap の Python バインディングを使用してこれを行う方法について何か考えがある人はいますか? あなたの助けをいただければ幸いです:)

ありがとう :)

4

1 に答える 1

2

残念ながら、IPv6 を使用すると、独自の TCP 再構成を行う必要があります。(一般に) 1 つまたは 2 つのパケットに含まれる URL データのみに関心があるという朗報です。

これを行うには、pylibpcap を使用して回避できるはずです。TCP トラフィックのみを見ていることを確認するために、pcap オブジェクトで setfilter を使用する必要があります。pcap ループを進めていくと、いくつかの HTTP 正規表現をペイロードに適用します。HTTP トラフィックのように見えるものがある場合は、ヘッダーを解析して URL データを取得してみてください。うまくいけば、パケットの末尾の前に改行を含む完全な URL を取得できます。そうでない場合は、軽量の TCP 再構築を行う必要があります。

ああ、socket.inet_ntop と socket.getaddrinfo を使用して、IPv6 ホストに関する情報を出力したいと思うでしょう。

于 2011-03-27T02:10:55.060 に答える