35

Python を使用して、.pcap ファイルまたはインターフェイスからパケットを解析するにはどうすればよいですか?

特に、よく文書化されたライブラリを使用するソリューションを探しています。

4

4 に答える 4

26

scapyを試してください。これは、パケットの検査、操作、および作成のための非常に強力なプログラムです。

これを使用して、独自のツールを作成できます。

于 2011-02-09T17:29:40.593 に答える
16

私はそれを試してから、pcapyを試しました。私が pcapy を選択したのは、私の使用法がグーグルで見つけた例と似ていたからです。

http://snipplr.com/view/3579/live-packet-capture-in-python-with-pcapy/ (または、以下にコピーされた同じコードを参照)

import pcapy
from impacket.ImpactDecoder import *

# list all the network devices
pcapy.findalldevs()

max_bytes = 1024
promiscuous = False
read_timeout = 100 # in milliseconds
pc = pcapy.open_live("name of network device to capture from", max_bytes, 
    promiscuous, read_timeout)

pc.setfilter('tcp')

# callback for received packets
def recv_pkts(hdr, data):
    packet = EthDecoder().decode(data)
    print packet

packet_limit = -1 # infinite
pc.loop(packet_limit, recv_pkts) # capture packets
于 2011-02-09T17:24:20.907 に答える