diff options
Diffstat (limited to 'parse_pcap.py')
-rw-r--r-- | parse_pcap.py | 39 |
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 @@ | |||
1 | import dpkt | ||
2 | import json | ||
3 | import binascii | ||
4 | from cStringIO import StringIO | ||
5 | from inform import InformSerializer, Cryptor | ||
6 | |||
7 | |||
8 | d = json.load(open("devices.json")) | ||
9 | KEYSTORE = { i['mac']: i['x_authkey'] for i in d } | ||
10 | |||
11 | |||
12 | def 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 | |||
17 | records = [] | ||
18 | buffer = StringIO() | ||
19 | |||
20 | for 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 | |||
32 | ser = InformSerializer("", KEYSTORE) | ||
33 | for data in records: | ||
34 | try: | ||
35 | packet = ser.parse(StringIO(data)) | ||
36 | print packet.raw_payload | ||
37 | except: | ||
38 | print "BAD" | ||
39 | continue | ||