MCPcopy
hub / github.com/fortra/impacket / test_2

Method test_2

tests/SMB_RPC/test_rpch.py:59–100  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

57class RPCHLocalTest(unittest.TestCase):
58
59 def test_2(self):
60 # CONN/A1
61 resp = b'\x05\x00\x14\x03\x10\x00\x00\x00\x4c\x00\x00\x00\x00\x00' + \
62 b'\x00\x00\x00\x00\x04\x00\x06\x00\x00\x00\x01\x00\x00\x00' + \
63 b'\x03\x00\x00\x00\xb0\xf6\xaf\x3d\x77\x62\x98\x07\x9b\x21' + \
64 b'\x54\x6e\xec\xf4\x22\x53\x03\x00\x00\x00\x3a\x24\x7a\x37' + \
65 b'\x6d\xc1\xed\x2c\x68\x5d\x34\x35\x13\x46\x43\x25\x00\x00' + \
66 b'\x00\x00\x00\x00\x04\x00'
67
68 packet = rpch.RTSHeader(resp)
69 packet.dump()
70
71 pduData = packet['pduData']
72 numberOfCommands = packet['NumberOfCommands']
73
74 self.assertEqual(numberOfCommands, 4)
75 self.assertEqual(packet['Flags'], rpch.RTS_FLAG_NONE)
76 self.assertEqual(packet['frag_len'], 76)
77 self.assertEqual(len(pduData), 56)
78
79 server_cmds = []
80 while numberOfCommands > 0:
81 numberOfCommands -= 1
82
83 cmd_type = unpack('<L', pduData[:4])[0]
84 cmd = rpch.COMMANDS[cmd_type](pduData)
85 server_cmds.append(cmd)
86 pduData = pduData[len(cmd):]
87
88 for cmd in server_cmds:
89 cmd.dump()
90
91 self.assertEqual(server_cmds[0].getData(), rpch.Version().getData())
92 receiveWindowSize = rpch.ReceiveWindowSize()
93 receiveWindowSize['ReceiveWindowSize'] = 262144
94
95 self.assertEqual(server_cmds[3].getData(), receiveWindowSize.getData())
96
97 cookie = rpch.Cookie()
98 cookie['Cookie'] = b'\xb0\xf6\xaf=wb\x98\x07\x9b!Tn\xec\xf4"S'
99
100 self.assertEqual(server_cmds[1].getData(), cookie.getData())
101
102 def test_3(self):
103 # CONN/A3

Callers

nothing calls this directly

Calls 3

appendMethod · 0.80
dumpMethod · 0.45
getDataMethod · 0.45

Tested by

no test coverage detected