Python を使用して、.pcap ファイルまたはインターフェイスからパケットを解析するにはどうすればよいですか?
特に、よく文書化されたライブラリを使用するソリューションを探しています。
scapyを試してください。これは、パケットの検査、操作、および作成のための非常に強力なプログラムです。
これを使用して、独自のツールを作成できます。
私はそれを試してから、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