2017-01-15 2 views
0

Ich möchte Informationen über Mac Adressaten "sprechen" in Protokoll 802.11 aus einer PCAP-Datei mit scapy erhalten. Ich habe etwas ähnliches getan, mit TCP-Verbindungen arbeiten:bekommen Informationen über Schicht2 Verbindungen mit scapy

l = self.pcap[int(arg)] 
    ipsrc = l.getlayer("IP").src 
    ipdst = l.getlayer("IP").dst 
    portsrc = l.getlayer("TCP").sport 
    portdst = l.getlayer("TCP").dport 

    pkt = [] 
    pkt.append([]) 
    for i,p in enumerate(self.pcap): 
     if p.haslayer('TCP'): 
      if p[IP].src == ipsrc and p[IP].dst == ipdst and p[TCP].sport == portsrc and p[TCP].dport == portdst: 
       pkt.append([i, p]) 
      if p[IP].src == ipdst and p[IP].dst == ipsrc and p[TCP].sport == portdst and p[TCP].dport == portsrc: 
       pkt.append([i, p]) 

wo arg ist eine Zahl, die Paket ID darstellen und self.pcap ist eine pcap-Datei, die den Befehl rdpcap geöffnet wurde mit.

hat jemand eine Idee, wie das gleiche wie die oben genannte Funktion, aber auf Mac-Adresse und 802.11-Protokoll zu tun? Vielen Dank.

+0

Möchten Sie nur Informationen über die Ethernet-Kapselung zu 802.11 mac header oder 802.11 mac header erhalten? – Dmitry

+0

@ Dmitry Mac-Header nur – Moshe9362

Antwort

1

Beispiel Siehe für das Erhalten mac von 802.11 MAC-Header-Adressen:

from scapy.all import * 

pcap = rdpcap('test_wifi.pcap') 
for pkt in pcap: 
    if pkt.haslayer(Dot11): 
     print "Addr1 = %s, Addr2 = %s, Addr3 = %s, Addr4 = %s" %(pkt.addr1, pkt.addr2, pkt.addr3, pkt.addr4) 

ich meine drahtlose Karte gesetzt Modus zu überwachen und erfassten Pakete zu ‚test_wifi.pcap‘ Datei zum Testen dieses Codes zu speichern.