def test_create_message(self): message = SMB2SessionSetupRequest() message['security_mode'] = SecurityMode.SMB2_NEGOTIATE_SIGNING_ENABLED message['buffer'] = b"\x01\x02\x03\x04" expected = b"\x19\x00" \ b"\x00" \ b"\x01" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x58\x00" \ b"\x04\x00" \ b"\x00\x00\x00\x00\x00\x00\x00\x00" \ b"\x01\x02\x03\x04" actual = message.pack() assert len(message) == 28 assert actual == expected
def test_parse_message(self): actual = SMB2SessionSetupRequest() data = b"\x19\x00" \ b"\x00" \ b"\x01" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x58\x00" \ b"\x04\x00" \ b"\x00\x00\x00\x00\x00\x00\x00\x00" \ b"\x01\x02\x03\x04" actual.unpack(data) assert len(actual) == 28 assert actual['structure_size'].get_value() == 25 assert actual['flags'].get_value() == 0 assert actual['security_mode'].get_value() == 1 assert actual['capabilities'].get_value() == 0 assert actual['security_buffer_offset'].get_value() == 88 assert actual['security_buffer_length'].get_value() == 4 assert actual['previous_session_id'].get_value() == 0 assert actual['buffer'].get_value() == b"\x01\x02\x03\x04"