def do_scan(self): ''' scan process ''' # start self.lock_thread_num.acquire() self.thread_num += 1 self.lock_thread_num.release() # do loop while True: if self.APP_STOP == True: break target = self.__get_one_target() if target == None: break # scan target self.__print_progress('target:%s...' % target) if self.args.nmap: target_info = self.__do_nmap_one_target(target, self.args.port) else: target_info = self.do_scan_one_target(target, self.args.port) # show server info: if len(target_info) > 0: for ti in target_info: info = '' if self.args.nmap: server_info = mongodb_check.get_mongodb_server_info( ti[0], ti[1]) if server_info != None: info = '%s:%d,%s' % (ti[0], ti[1], server_info) else: info = '%s:%d,%s' % (ti[0], ti[1], ti[2]) if info != '': logging.info(info) self.print_result('[+]' + info) # end self.lock_thread_num.acquire() self.thread_num -= 1 self.lock_thread_num.release()
def __do_scan(self): ''' scan process ''' # start self.__lock_thread_num.acquire() self.__thread_num += 1 self.__lock_thread_num.release() # do loop while True: if self.__APP_STOP == True: break target = self.__get_one_target() if target == None: break # scan target self.__print_progress('target:%s...' % target) if self.__args.nmap : target_info = self.__do_nmap_one_target(target,self.__args.port) else: target_info = self.__do_scan_one_target(target, self.__args.port) # show server info: if len(target_info) > 0: for ti in target_info: info = '' if self.__args.nmap : server_info = mongodb_check.get_mongodb_server_info(ti[0],ti[1]) if server_info != None: info = '%s:%d,%s' % (ti[0], ti[1], server_info) else: info = '%s:%d,%s' % (ti[0], ti[1], ti[2]) if info != '': logging.info (info) self.__print_result('[+]' + info) # end self.__lock_thread_num.acquire() self.__thread_num -= 1 self.__lock_thread_num.release()
def __do_scan_one_target(self, target, ports): ''' scan one target and everyone port ''' target_info = [] ports_list = ports.split(',') for p in ports_list: port = int(p) # check port open: check_open = mongodb_check.check_mongodb_open( target, port, timeout=self.__args.timeout) if check_open == False: continue # get server info server_info = mongodb_check.get_mongodb_server_info( target, port, timeout=self.__args.timeout) if server_info == None: #server_info = 'connect fail' continue # target_info.append((target, port, server_info)) return target_info
def do_scan_one_target(self, target, ports): ''' scan one target and everyone port ''' target_info = [] ports_list = ports.split(',') for p in ports_list: port = int(p) # check port open: check_open = mongodb_check.check_mongodb_open( target, port, timeout=self.args.timeout) if check_open == False: continue # get server info server_info = mongodb_check.get_mongodb_server_info( target, port, timeout=self.args.timeout) if server_info == None: #server_info = 'connect fail' continue # target_info.append((target, port, server_info)) return target_info