class TestFilterIP(_FilterDefaultTest, unittest.TestCase): with open('test_packets/tcp_packet', 'rb') as f: raw_data = f.read() pack_filter = OneArgumentSimpleFilter( 'IPv4Header.source_address==192.168.221.128') all_lvl_pack = pp.parse_raw_packet(raw_data, 'Ethernet') one_lvl_pack = all_lvl_pack.data
class TestARPhw_addr(_FilterDefaultTest, unittest.TestCase): with open('test_packets/arp_packet', 'rb') as f: raw_data = f.read() pack_filter = OneArgumentSimpleFilter( 'ARPHeader.hw_addr_sender==b4:86:55:8c:fa:76') all_lvl_pack = pp.parse_raw_packet(raw_data, 'Ethernet') one_lvl_pack = all_lvl_pack.data
def test_all(self): pack = pp.parse_raw_packet(self.raw_data, "Ethernet") ip_header = pack.data.header self.assertEqual(str(pack.header.ether_type), "IPv4") self.assertEqual(str(ip_header.protocol_type), "ICMP") icmp_h = pack.data.data.header self.assertEqual(str(icmp_h.type), "Echo Request")
class TestFilterMAC(_FilterDefaultTest, unittest.TestCase): with open('test_packets/tcp_packet', 'rb') as f: raw_data = f.read() pack_filter = OneArgumentSimpleFilter( "EthernetHeader.destination_MAC_address==" + "00:50:56:e9:04:2e") one_lvl_pack = pp.parse_Ethernet(raw_data) all_lvl_pack = pp.parse_raw_packet(raw_data, 'Ethernet') def test_one_lvl_filter_with_all_lvl_pack(self): res = self.pack_filter.filter_one_level(self.all_lvl_pack) self.check(res)
def test_all(self): pack = pp.parse_raw_packet(self.raw_data, "Ethernet") ip_header = pack.data.header self.assertEqual(str(pack.header.ether_type), "IPv4") ip_header = pack.data.header ip_data = pack.data.data self.assertEqual(str(ip_header.protocol_type), "UDP") udp_h = ip_data.header self.assertEqual(udp_h.source_port, 50178) self.assertEqual(udp_h.destination_port, 3702) self.assertEqual(udp_h.length, 999)
class TestFilterPort(_FilterDefaultTest, unittest.TestCase): with open('test_packets/udp_packet', 'rb') as f: raw_data = f.read() pack_filter = OneArgumentSimpleFilter('UDPHeader.source_port==50178') all_lvl_pack = pp.parse_raw_packet(raw_data, 'Ethernet') one_lvl_pack = all_lvl_pack.data.data
def test_ip_address_parsing(self): pack = pp.parse_raw_packet(self.raw_data, "Ethernet") ip_header = pack.data.header self.assertEqual(str(ip_header.source_address), "192.168.221.128") self.assertEqual(str(ip_header.destination_address), "122.249.180.9")