@@ -321,23 +321,26 @@ def test_stdapi_sys_config_getsid(self):
321321 self .assertRegex (sid , "S-1-5-.*" )
322322
323323class ExtStdNetResolveTest (ExtServerStdApiTest ):
324- def stdapi_net_resolve_hosts (self ):
324+ def test_stdapi_net_resolve_host (self ):
325325 # Full request from msfconsole
326326 request = b'\x00 \x00 \x00 \x0c \x00 \x02 \x00 \x01 \x00 \x00 \x04 \x00 \x00 \x00 \x00 )\x00 \x01 \x00 \x02 64769531726942037539492283558475\x00 \x00 \x00 \x00 \x13 \x00 \x01 \x05 xrapid7.com\x00 \x00 \x00 \x00 \x0c \x00 \x02 \x05 \xa4 \x00 \x00 \x00 \x02 '
327327 response = bytes ()
328328 _result_code , result_tlvs = self .assertMethodErrorSuccess (
329329 "stdapi_net_resolve_hosts" , request , response
330330 )
331331
332- print (response )
332+ resolved_hosts = self .meterpreter_context ["packet_get_tlv" ](
333+ result_tlvs , self .ext_server_stdapi ["TLV_TYPE_RESOLVE_HOST_ENTRY" ]
334+ ).get ("value" )
333335
334- # TODO: Assert
335- # user_name = self.meterpreter_context["packet_get_tlv"](
336- # result_tlvs, self.ext_server_stdapi["TLV_TYPE_USER_NAME"]
337- # ).get("value")
338- #
339- #self.assert(response, bytes('......'))
336+ resolved_hosts = self .meterpreter_context ["packet_enum_tlvs" ](
337+ resolved_hosts , self .ext_server_stdapi ["TLV_TYPE_IP" ]
338+ )
340339
340+ for host in resolved_hosts :
341+ ip = socket .inet_ntop (socket .AF_INET , host ['value' ])
342+ # Checks if IP is a valid IP address
343+ self .assertTrue (isinstance (socket .inet_aton (ip ), bytes ))
341344
342345if __name__ == "__main__" :
343346 unittest .main ()
0 commit comments