2017-09-22 36 views
0

如何將一個pcap文件添加到我的pycharm項目文件中?python pycharm(使用pyshark庫)

這裏是我的代碼:

import pyshark 

cap = pyshark.FileCapture('dnpdataset') 


def print_conversation_header(pkt): 
    try: 
     protocol = pkt.transport_layer 
     src_addr = pkt.ip.src 
     src_port = pkt[pkt.transport_layer].srcport 
     dst_addr = pkt.ip.dst 
     dst_port = pkt[pkt.transport_layer].dstport 
     print 
     '%s %s:%s --> %s:%s' % (protocol, src_addr, src_port, dst_addr, dst_port) 
    except AttributeError as e: 
     # ignore packets that aren't TCP/UDP or IPv4 
     pass 

cap.apply_on_packets(print_conversation_header, timeout=100) 

給我這個錯誤:

Traceback (most recent call last): File "C:/Users/mtare/PycharmProjects/moe1/first.py", line 3, in cap = pyshark.FileCapture('dnpdataset') File "C:\Users\mtare\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pyshark\capture\file_capture.py", line 47, in init raise FileNotFoundError(str(self.input_filename)) FileNotFoundError: dnpdataset

回答

1

你必須給捕獲文件的絕對路徑FileCapture

import pyshark 

cap = pyshark.FileCapture(r'C:\Temp\dnpdataset.pcap') 


def print_conversation_header(pkt): 
    try: 
     protocol = pkt.transport_layer 
     src_addr = pkt.ip.src 
     src_port = pkt[pkt.transport_layer].srcport 
     dst_addr = pkt.ip.dst 
     dst_port = pkt[pkt.transport_layer].dstport 
     print('%s %s:%s --> %s:%s' % (protocol, src_addr, src_port, dst_addr, dst_port)) 
    except AttributeError as e: 
     # ignore packets that aren't TCP/UDP or IPv4 
     pass 


cap.apply_on_packets(print_conversation_header, timeout=100)