Example #1
0
 def test_create_message_subnet(self):
     message = SockAddrIn()
     message.set_ipaddress("255.255.255.255")
     expected = b"\x00\x00" \
                b"\xff\xff\xff\xff" \
                b"\x00\x00\x00\x00\x00\x00\x00\x00"
     actual = message.pack()
     assert len(message) == 14
     assert actual == expected
Example #2
0
 def test_create_message(self):
     message = SockAddrIn()
     message.set_ipaddress("10.0.2.15")
     expected = b"\x00\x00" \
                b"\x0a\x00\x02\x0f" \
                b"\x00\x00\x00\x00\x00\x00\x00\x00"
     actual = message.pack()
     assert len(message) == 14
     assert actual == expected
Example #3
0
 def test_parse_message(self):
     actual = SockAddrIn()
     data = b"\x00\x00" \
            b"\x0a\x00\x02\x0f" \
            b"\x00\x00\x00\x00\x00\x00\x00\x00"
     actual.unpack(data)
     assert len(actual) == 14
     assert actual['port'].get_value() == 0
     assert actual['ipv4_address'].get_value() == b"\x0a\x00\x02\x0f"
     assert actual['reserved'].get_value() == 0
     assert actual.get_ipaddress() == "10.0.2.15"
Example #4
0
 def test_create_message_ipv4(self):
     message = SockAddrStorage()
     message['family'] = SockAddrFamily.INTER_NETWORK
     sock_addr = SockAddrIn()
     sock_addr.set_ipaddress("10.0.2.15")
     message['buffer'] = sock_addr
     expected = b"\x02\x00" \
                b"\x00\x00" \
                b"\x0a\x00\x02\x0f" \
                b"\x00\x00\x00\x00\x00\x00\x00\x00"
     expected += b"\x00" * 112
     actual = message.pack()
     assert len(message) == 128
     assert actual == expected
Example #5
0
    def test_create_message(self):
        addr1 = SockAddrIn()
        addr1.set_ipaddress("10.0.2.15")
        sock_addr1 = SockAddrStorage()
        sock_addr1['family'] = SockAddrFamily.INTER_NETWORK
        sock_addr1['buffer'] = addr1
        msg1 = SMB2NetworkInterfaceInfo()
        msg1['if_index'] = 2
        msg1['link_speed'] = 1000000000
        msg1['sock_addr_storage'] = sock_addr1

        addr2 = SockAddrIn6()
        addr2.set_ipaddress("fe80:0000:0000:0000:894a:2dbc:1d9c:2da1")
        sock_addr2 = SockAddrStorage()
        sock_addr2['family'] = SockAddrFamily.INTER_NETWORK_V6
        sock_addr2['buffer'] = addr2
        msg2 = SMB2NetworkInterfaceInfo()
        msg2['if_index'] = 4
        msg2['capability'].set_flag(IfCapability.RSS_CAPABLE)
        msg2['link_speed'] = 1000000
        msg2['sock_addr_storage'] = sock_addr2

        expected = b"\x98\x00\x00\x00" \
                   b"\x02\x00\x00\x00" \
                   b"\x00\x00\x00\x00" \
                   b"\x00\x00\x00\x00" \
                   b"\x00\xca\x9a\x3b\x00\x00\x00\x00" \
                   b"\x02\x00" \
                   b"\x00\x00" \
                   b"\x0a\x00\x02\x0f" \
                   b"\x00\x00\x00\x00\x00\x00\x00\x00"
        expected += b"\x00" * 112
        expected += b"\x00\x00\x00\x00" \
                    b"\x04\x00\x00\x00" \
                    b"\x01\x00\x00\x00" \
                    b"\x00\x00\x00\x00" \
                    b"\x40\x42\x0f\x00\x00\x00\x00\x00" \
                    b"\x17\x00" \
                    b"\x00\x00" \
                    b"\x00\x00\x00\x00" \
                    b"\xfe\x80\x00\x00\x00\x00\x00\x00" \
                    b"\x89\x4a\x2d\xbc\x1d\x9c\x2d\xa1" \
                    b"\x00\x00\x00\x00"
        expected += b"\x00" * 100
        actual = SMB2NetworkInterfaceInfo.pack_multiple([msg1, msg2])
        assert len(msg1) == 152
        assert len(msg2) == 152
        assert actual == expected