Exemplo n.º 1
0
 def test_probe_resp_packet(self):
     """
     Verify attributes of Probe Response instance.
     """
     frame = wifi.WIFI(PROBE_RESP_PACKET)
     self.assertTrue(isinstance(frame, wifi.ProbeResp),
                     'invalid Probe Response frame!')
     self.assertEqual(frame.timestamp, 17596175126, 'invalid timestamp')
     self.assertEqual(frame.ess, 1, 'invalid ess flag')
     self.assertEqual(frame.ibss, 0, 'invalid ibss flag')
     self.assertEqual(frame.priv, 1, 'invalid privacy capability flag')
     self.assertEqual(frame.short_preamble, 0,
                      'invalid short preamble flag')
     self.assertEqual(frame.pbcc, 0, 'invalid pbcc flag')
     self.assertEqual(frame.chan_agility, 0, 'invalid channel agility flag')
     self.assertEqual(frame.spec_man, 1, 'invalid spectrum management flag')
     self.assertEqual(frame.short_slot, 0, 'invalid short slot time flag')
     self.assertEqual(frame.apsd, 0,
                      'invalid automatic power save delivery flag')
     self.assertEqual(frame.dss_ofdm, 0,
                      'invalid dynamic spec spectrum / ofdm flag')
     self.assertEqual(frame.del_back, 0, 'invalid delayed block ack flag')
     self.assertEqual(frame.imm_back, 0, 'invalid immediate block ack flag')
     self.assertEqual(len(frame.tagged_params), 18,
                      'invalid number of tagged parameters')
     vendor_ies = frame.get_vendor_ies()
     self.assertEqual(len(vendor_ies), 4, 'invalid number of vendor ies')
     ie_type = frame.get_vendor_ies('00-10-18', 2)
     self.assertEqual(len(ie_type), 1,
                      'invalid number of ies for mac block 00-10-18')
Exemplo n.º 2
0
 def test_probe_req_packet(self):
     """
     Verify attributes of Probe Request instance.
     """
     frame = wifi.WIFI(PROBE_REQ_PACKET)
     self.assertTrue(isinstance(frame, wifi.ProbeReq),
                     'invalid Beacon frame!')
     self.assertEqual(len(frame.tagged_params), 10,
                      'invalid number of tagged paramters')
     vendor_ies = frame.get_vendor_ies()
     self.assertEqual(len(vendor_ies), 5, 'invalid number of vendor ies')
     ie_type = frame.get_vendor_ies('00-1C-A8', 80)
     self.assertEqual(len(ie_type), 1,
                      'invalid number of ies for mac block 00-1C-A8')
Exemplo n.º 3
0
 def test_cts_packet(self):
     """
     Verify attributes of Clear to Send Instance.
     """
     frame = wifi.WIFI(CTS_PACKET)
     self.assertTrue(isinstance(frame, wifi.CTS), 'invalid CTS frame!')
     self.assertEqual(frame.radiotap.mactime, 2028090566,
                      'invalid radiotap mactime')
     self.assertEqual(frame.radiotap.chan.freq, 5540,
                      'invalid channel frequency in radiotap headers')
     self.assertEqual(frame.radiotap.rate, 6.0, 'invalid rate')
     self.assertEqual(frame.ra, b'88:41:fc:2a:01:a6',
                      'invalid receiver address')
     self.assertEqual(frame.duration, 2808, 'invalid duration field')
Exemplo n.º 4
0
 def test_rts_packet(self):
     """
     Verify attributes of Request to Sent instance.
     """
     frame = wifi.WIFI(RTS_PACKET)
     self.assertTrue(isinstance(frame, wifi.RTS), 'invalid RTS frame!')
     self.assertEqual(frame.radiotap.chan.freq, 5540,
                      'invalid channel frequency in radiotap headers')
     self.assertEqual(frame.radiotap.mactime, 2028090499,
                      'invalid radiotap mactime')
     self.assertEqual(frame.radiotap.rate, 6.0, 'invalid rate')
     self.assertEqual(frame.ta, b'88:41:fc:2a:01:a6',
                      'invalid transmitter address')
     self.assertEqual(frame.ra, b'88:41:fc:2a:01:aa',
                      'invalid receiver address')
     self.assertEqual(frame.duration, 2868, 'invalid duration field')
Exemplo n.º 5
0
 def test_block_ack_packet(self):
     """
     Verify attributes of Block Acknowledgement instance.
     """
     frame = wifi.WIFI(BLOCK_ACK_PACKET)
     self.assertTrue(isinstance(frame, wifi.BACK),
                     'invalid BLOCK ACK frame!')
     self.assertEqual(frame.radiotap.mactime, 2028093362,
                      'invalid radiotap mactime')
     self.assertEqual(frame.radiotap.chan.freq, 5540,
                      'invalid channel frequency in radiotap headers')
     self.assertEqual(frame.ta, b'88:41:fc:2a:01:aa',
                      'invalid transmitter address')
     self.assertEqual(frame.ra, b'88:41:fc:2a:01:a6',
                      'invalid receiver address')
     self.assertEqual(frame.acked_seqs, list(range(713, 754)),
                      'invalid sequence numbers in acknowledgement')
Exemplo n.º 6
0
 def test_beacon_packet(self):
     """
     Verify attributes of Beacon instance.
     """
     frame = wifi.WIFI(BEACON_PACKET)
     self.assertTrue(isinstance(frame, wifi.Beacon),
                     'invalid Beacon frame!')
     self.assertEqual(frame.radiotap.mactime, 2020557908,
                      'invalid radiotap mactime')
     self.assertEqual(frame.radiotap.chan.freq, 5540,
                      'invalid channel frequency in radiotap headers')
     self.assertEqual(frame.ta, b'88:41:fc:2a:01:aa',
                      'invalid transmitter address')
     self.assertEqual(frame.ra, b'ff:ff:ff:ff:ff:ff',
                      'invalid receiver address')
     self.assertEqual(frame.timestamp, 514355210,
                      'invalid beacon timestamp')
     self.assertEqual(frame.seq_num, 497, 'invalid sequence number')
Exemplo n.º 7
0
 def test_data_non_amsdu_wds_packet(self):
     """
     Verify attributes of Data instance when A-MSDU is not used in
     WDS(Wireless Distribution System)
     """
     frame = wifi.WIFI(DATA_NON_AMSDU_WDS_PACKET)
     self.assertTrue(isinstance(frame, wifi.QosData),
                     'invalid QosData frame!')
     self.assertEqual(frame.radiotap.mactime, 2045142051,
                      'invalid radiotap mactime')
     self.assertEqual(frame.radiotap.chan.freq, 5540,
                      'invalid channel frequency in radiotap headers')
     self.assertEqual(frame.from_ds, 1,
                      'invalid flag value in frame control')
     self.assertEqual(frame.to_ds, 1, 'invalid flag value in frame control')
     self.assertEqual(frame.amsdupresent, 0, 'invalid a-msdu information')
     self.assertEqual(frame.ta, b'88:41:fc:7a:0f:d3',
                      'invalid transmitter address')
     self.assertEqual(frame.ra, b'88:41:d8:2a:01:aa',
                      'invalid receiver address')
     self.assertEqual(frame.seq_num, 1859, 'invalid sequence number')
     self.assertEqual(len(frame.payload), 1,
                      'invalid a-msdu aggregation formed')