web-dev-qa-db-ja.com

pythonでのpcapファイルの解析

私はPythonでpcapファイルを解析しようとしています。私の目標は、TCPまたはUDPファイルのタイプと、それらが開始/終了する時刻を引き出すことができるようにすることです。それらのためのドキュメントまたはそれを書く一般的なアドバイスは?

12

Python-dpktを使用します。ドキュメントは次のとおりです。 http://www.commercialventvac.com/dpkt.html

申し訳ありませんが、これがすべての方法です。

#!/usr/local/bin/python2.7

import dpkt

counter=0
ipcounter=0
tcpcounter=0
udpcounter=0

filename='sampledata.pcap'

for ts, pkt in dpkt.pcap.Reader(open(filename,'r')):

    counter+=1
    eth=dpkt.ethernet.Ethernet(pkt) 
    if eth.type!=dpkt.ethernet.ETH_TYPE_IP:
       continue

    ip=eth.data
    ipcounter+=1

    if ip.p==dpkt.ip.IP_PROTO_TCP: 
       tcpcounter+=1

    if ip.p==dpkt.ip.IP_PROTO_UDP:
       udpcounter+=1

print "Total number of packets in the pcap file: ", counter
print "Total number of ip packets: ", ipcounter
print "Total number of tcp packets: ", tcpcounter
print "Total number of udp packets: ", udpcounter

更新:

プロジェクト GitHub 、ドキュメント ここ

18
Matt Roberts

scapy で始めることをお勧めします。

9
user862787