1

pcapy / impacketライブラリを使用して、Python でネットワーク パケットをデコードします。IPv4 パケットの構文を認識している IP デコーダーがありますが、明らかに IPv6 デコーダーはありません。

誰かがそれを手に入れますか?

非公開の通信で、Impacket のメンテナーは、 Scapyから始める方が良いかもしれないと言います

4

4 に答える 4

2

Impacket メンテナーが推奨する Scapy には、現時点で IPv6 デコード機能がありません。しかし、そうするための非公式の拡張機能があります。

この拡張機能を使用すると、次のように機能します。

for packet in traffic:
  if packet.type == ETH_P_IPV6 or packet.type == ETH_P_IP:
    ip = packet.payload
    if (ip.version == 4 and ip.proto == UDP_PROTO) or \
       (ip.version == 6 and ip.nh == UDP_PROTO):
        if ip.dport == DNS_PORT and ip.dst == ns:
            all_queries = all_queries + 1

しかし、大きなトレースでは非常に遅くなります。それでも、Impacket を試すか、C に戻る必要があるかもしれません。

于 2008-12-22T15:21:28.103 に答える
-1

これまで pcapy を使用したことはありませんが、C プロジェクトで libpcap を使用したことはあります。pcapy ページに記載されているように、libcap に静的にリンクされていないため、IPv6 をサポートする新しいものにアップグレードできます。

libpcap changelogによると、2008 年 10 月 27 日にリリースされたバージョン 1.0 は、デフォルトの IPv6 サポートを備えているため (以前から IPv6 がサポートされているはずですが、現在はそのオプションでデフォルトでコンパイルされています)、これで IPv6 トラフィックをキャプチャできるはずです。バージョン。最新の pcapy リリースは 2007 年 3 月 27 日のものであるため、多くても 2007 年 9 月 10 日にリリースされた libcap の 0.9.8 バージョンが含まれているはずです。

pcapy API はおそらくそれをサポートするためにいくつかの変更を必要とするため、IPv6 トラフィックをキャプチャできるようにするのにそれで十分かどうかはわかりませんが、それは pcapy 開発者の屋根にあります。

更新: libpcap の python ラッパーであるpylibpcapは、pcapy よりも新しいリリースであるため、新しい libpcap の機能はより適切にサポートされるはずです。

一般的な PCAP (libpcap) の詳細については、こちらを参照してください。

于 2008-12-21T12:05:34.380 に答える
-1

Google の非常に便利な 1 ファイル ライブラリを使用できます。

http://code.google.com/p/ipaddr-py/

IPv4、IPv6、IP 検証、ネットマスクおよびプレフィックス管理などをサポートします。適切にコーディングされ、文書化されています。

頑張れ
エミリオ

于 2009-06-27T19:43:23.427 に答える