github.com/n00py/Slackor@v0.0.0-20200610224921-d007fcea1740/impacket/tests/dot11/test_RadioTapDecoder.py (about) 1 #!/usr/bin/env python 2 # sorry, this is very ugly, but I'm in python 2.5 3 import sys 4 sys.path.insert(0,"../..") 5 6 from impacket.ImpactDecoder import RadioTapDecoder 7 import impacket.dot11, impacket.ImpactPacket 8 import unittest 9 from six import PY2 10 11 class TestRadioTapDecoder(unittest.TestCase): 12 13 def setUp(self): 14 self.RadioTapData=b'\x00\x00\x20\x00\x67\x08\x04\x00\x30\x03\x1a\x25\x00\x00\x00\x00\x22\x0c\xd9\xa0\x02\x00\x00\x00\x40\x01\x00\x00\x3c\x14\x24\x11\x08\x02\x00\x00\xff\xff\xff\xff\xff\xff\x06\x03\x7f\x07\xa0\x16\x00\x19\xe3\xd3\x53\x52\x90\x7f\xaa\xaa\x03\x00\x00\x00\x08\x06\x00\x01\x08\x00\x06\x04\x00\x01\x00\x19\xe3\xd3\x53\x52\xa9\xfe\xf7\x00\x00\x00\x00\x00\x00\x00\x43\x08\x0e\x36' 15 self.radiotap_decoder = RadioTapDecoder() 16 self.in0=self.radiotap_decoder.decode(self.RadioTapData) 17 self.in1=self.in0.child() 18 self.in2=self.in1.child() 19 self.in3=self.in2.child() 20 self.in4=self.in3.child() 21 self.in5=self.in4.child() 22 self.in6=self.in5.child() 23 24 def test_00(self): 25 'Test RadioTap decoder' 26 if PY2: 27 self.assertEqual(str(self.in0.__class__), "impacket.dot11.RadioTap") 28 else: 29 self.assertEqual(str(self.in0.__class__), "<class 'impacket.dot11.RadioTap'>") 30 31 def test_01(self): 32 'Test Dot11 decoder' 33 if PY2: 34 self.assertEqual(str(self.in1.__class__), "impacket.dot11.Dot11") 35 else: 36 self.assertEqual(str(self.in1.__class__), "<class 'impacket.dot11.Dot11'>") 37 38 def test_02(self): 39 'Test Dot11DataFrame decoder' 40 if PY2: 41 self.assertEqual(str(self.in2.__class__), "impacket.dot11.Dot11DataFrame") 42 else: 43 self.assertEqual(str(self.in2.__class__), "<class 'impacket.dot11.Dot11DataFrame'>") 44 45 def test_03(self): 46 'Test LLC decoder' 47 if PY2: 48 self.assertEqual(str(self.in3.__class__), "impacket.dot11.LLC") 49 else: 50 self.assertEqual(str(self.in3.__class__), "<class 'impacket.dot11.LLC'>") 51 52 def test_04(self): 53 'Test SNAP decoder' 54 if PY2: 55 self.assertEqual(str(self.in4.__class__), "impacket.dot11.SNAP") 56 else: 57 self.assertEqual(str(self.in4.__class__), "<class 'impacket.dot11.SNAP'>") 58 59 # def test_05(self): 60 # 'Test ARP decoder' 61 # self.assertEqual(str(self.in5.__class__), "ImpactPacket.ARP") 62 63 # def test_05(self): 64 # 'Test Data decoder' 65 # self.assertEqual(str(self.in6.__class__), "ImpactPacket.Data") 66 67 def test_06(self): 68 'Test Protocol Finder' 69 p=self.radiotap_decoder.get_protocol(impacket.dot11.RadioTap) 70 if PY2: 71 self.assertEqual(str(p.__class__), "impacket.dot11.RadioTap") 72 else: 73 self.assertEqual(str(p.__class__), "<class 'impacket.dot11.RadioTap'>") 74 75 p=self.radiotap_decoder.get_protocol(impacket.dot11.Dot11) 76 if PY2: 77 self.assertEqual(str(p.__class__), "impacket.dot11.Dot11") 78 else: 79 self.assertEqual(str(p.__class__), "<class 'impacket.dot11.Dot11'>") 80 81 p=self.radiotap_decoder.get_protocol(impacket.dot11.Dot11DataFrame) 82 if PY2: 83 self.assertEqual(str(p.__class__), "impacket.dot11.Dot11DataFrame") 84 else: 85 self.assertEqual(str(p.__class__), "<class 'impacket.dot11.Dot11DataFrame'>") 86 87 p=self.radiotap_decoder.get_protocol(impacket.dot11.LLC) 88 if PY2: 89 self.assertEqual(str(p.__class__), "impacket.dot11.LLC") 90 else: 91 self.assertEqual(str(p.__class__), "<class 'impacket.dot11.LLC'>") 92 93 p=self.radiotap_decoder.get_protocol(impacket.dot11.SNAP) 94 if PY2: 95 self.assertEqual(str(p.__class__), "impacket.dot11.SNAP") 96 else: 97 self.assertEqual(str(p.__class__), "<class 'impacket.dot11.SNAP'>") 98 99 #p=self.radiotap_decoder.get_protocol(ImpactPacket.ARP) 100 #self.assertEqual(str(p.__class__), "ImpactPacket.ARP") 101 102 #p=self.radiotap_decoder.get_protocol(ImpactPacket.Data) 103 #self.assertEqual(str(p.__class__), "ImpactPacket.Data") 104 105 # When not found, None is returned 106 p=self.radiotap_decoder.get_protocol(impacket.dot11.Dot11WPA) 107 self.assertEqual(p, None) 108 109 suite = unittest.TestLoader().loadTestsFromTestCase(TestRadioTapDecoder) 110 unittest.TextTestRunner(verbosity=1).run(suite)