2017-07-25 9 views
0

Ich versuche, eine grafische Darstellung von Paketen mit Scapy, Python-2.7 und einige Grafik-Modul (was ich noch nicht gedacht habe) zu tun. Im Grunde möchte ich die Arten von Datenpaketen aus einer pcap-Datei mit scapy lesen, parsen und im Gegenzug einen Graphen simulieren.Verwenden von Scapy mit Python 2.7

ich den folgenden Code geschrieben haben, nur zu überprüfen, wie rdpcap funktioniert:

**from scapy.utils import rdpcap 
packets = rdpcap("/Packet_Inspection/Sample_2.pcap000") 
print packets** 

Und ich bekomme immer folgende Fehlermeldung:

**Traceback (most recent call last): 
>> File "test1.py", line 8, in <module> 
    packets = rdpcap("/Packet_Inspection/Sample_2.pcap000") 
>>File "C:\python27\lib\site-packages\scapy\utils.py", line 559, in rdpcap 
    return fdesc.read_all(count=count) 
    >>File "C:\python27\lib\site-packages\scapy\utils.py", line 729, in read_all 
    res = RawPcapReader.read_all(self, count) 
    >>File "C:\python27\lib\site-packages\scapy\utils.py", line 680, in read_all 
    p = self.read_packet() 
    >>File "C:\python27\lib\site-packages\scapy\utils.py", line 725, in read_packet 
    p = conf.raw_layer(s) 
>>TypeError: 'NoneType' object is not callable** 

Bitte helfen Sie mir hier.

Antwort

0

mehrere Dinge könnten hier schief gehen.

existiert wirklich /Packet_Inspection/Sample_2.pcap000 an der Wurzel?

gibt es Pakete in der pcap?

auch, rdpcap gibt ein Python-Array von scapy Packet Objekte zurück. Sie könnten versuchen, eine einzelne Instanz mit print packets[0]

+0

zu drucken 1. ist /Packet_Inspection/Sample_2.pcap000 tatsächlich am Stamm vorhanden? Ja. Ich habe im selben Ordner wie der Python platziert. 2. Pcap enthält Pakete. Ich checkte in Wireshark ein, bevor wir es aufstellten. 3. Ich habe auch versucht, Pakete [0] und ich bekomme immer noch den gleichen Fehler. – bbvijayin

+1

@crappidy 'rdpcap' gibt ein Array von Paketen zurück, so dass' packets [0] 'das erste Element auf dem Array zurückgibt, das vom Typ' Paket' ist. 'packet [0] [0]' gibt die erste Ebene des ersten Pakets im Array zurück – StephenG

+0

@StephenG: Sie haben recht! Danke für Informationen. – crappidy