aboutsummaryrefslogtreecommitdiff
path: root/parse_pcap.py
diff options
context:
space:
mode:
Diffstat (limited to 'parse_pcap.py')
-rw-r--r--parse_pcap.py39
1 files changed, 0 insertions, 39 deletions
diff --git a/parse_pcap.py b/parse_pcap.py
deleted file mode 100644
index bcc3e69..0000000
--- a/parse_pcap.py
+++ /dev/null
@@ -1,39 +0,0 @@
1import dpkt
2import json
3import binascii
4from cStringIO import StringIO
5from inform import InformSerializer, Cryptor
6
7
8d = json.load(open("devices.json"))
9KEYSTORE = { i['mac']: i['x_authkey'] for i in d }
10
11
12def add_colons_to_mac(mac_addr):
13 mac_addr = binascii.hexlify(mac_addr)
14 return ":".join([mac_addr[i*2:i*2+2] for i in range(12/2)]).lower()
15
16
17records = []
18buffer = StringIO()
19
20for ts, buf in dpkt.pcap.Reader(open("mfi.out")):
21 eth = dpkt.ethernet.Ethernet(buf)
22 data = eth.data.tcp.data.split("\r\n")[-1]
23
24 if data.startswith("TNBU") and buffer.tell() != 0:
25 records.append(buffer.getvalue())
26 buffer.seek(0)
27 buffer.write(data)
28 else:
29 buffer.write(data)
30
31
32ser = InformSerializer("", KEYSTORE)
33for data in records:
34 try:
35 packet = ser.parse(StringIO(data))
36 print packet.raw_payload
37 except:
38 print "BAD"
39 continue