Python gevent.socket.gethostbyname() Examples
The following are 7
code examples of gevent.socket.gethostbyname().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
gevent.socket
, or try the search function
.
Example #1
Source File: helpers.py From panoptes with Apache License 2.0 | 6 votes |
def resolve_hostnames(hostnames, timeout): """ Do DNS resolution for a given list of hostnames This function uses gevent to resolve all the hostnames in *parallel* Args: hostnames (list): A list of strings timeout (int): The number of seconds to wait for resolution of **all** hostnames Returns: list: A list of (hostname, address) tuples in the same order as the input list of hostnames """ assert validators.PanoptesValidators.valid_nonempty_iterable_of_strings(hostnames), u'hostnames should be a list' assert validators.PanoptesValidators.valid_nonzero_integer(timeout), u'timeout should be an int greater than zero' jobs = [gevent.spawn(wrap_errors(gaierror, socket.gethostbyname), host) for host in hostnames] gevent.joinall(jobs, timeout=timeout) addresses = [job.value if not isinstance(job.get(), gaierror) else None for job in jobs] results = [(hostnames[i], result) for i, result in enumerate(addresses)] return results
Example #2
Source File: connection.py From CrackMapExec with BSD 2-Clause "Simplified" License | 6 votes |
def __init__(self, args, db, host): self.args = args self.db = db self.hostname = host self.conn = None self.admin_privs = False self.logger = None self.password = '' self.username = '' self.kerberos = True if self.args.kerberos else False self.aesKey = None if not self.args.aesKey else self.args.aesKey self.kdcHost = None if not self.args.kdcHost else self.args.kdcHost self.failed_logins = 0 self.local_ip = None try: self.host = gethostbyname(self.hostname) if self.args.kerberos: self.host = self.hostname except Exception as e: logging.debug('Error resolving hostname {}: {}'.format(self.hostname, e)) return self.proto_flow()
Example #3
Source File: geventSimple.py From Learning-Concurrency-in-Python with MIT License | 5 votes |
def main(): urls = ['www.google.com', 'www.example.com', 'www.python.org'] jobs = [gevent.spawn(socket.gethostbyname, url) for url in urls] gevent.joinall(jobs, timeout=2) print([job.value for job in jobs])
Example #4
Source File: portforwarder.py From web_develop with GNU General Public License v3.0 | 5 votes |
def parse_address(address): try: hostname, port = address.rsplit(':', 1) port = int(port) except ValueError: sys.exit('Expected HOST:PORT: %r' % address) return gethostbyname(hostname), port
Example #5
Source File: ct-exposer.py From ct-exposer with GNU General Public License v3.0 | 5 votes |
def resolve(domain): try: return({domain: socket.gethostbyname(domain)}) except: return({domain: "none"})
Example #6
Source File: BBScan.py From BBScan with Apache License 2.0 | 5 votes |
def init_from_log_file(self, log_file): self.reset_scanner() self.log_file = log_file self.scheme, self.host, self.path = self._parse_url_from_file() self.domain_sub = get_domain_sub(self.host) if self.host: if self.host.find(':') > 0: _ret = self.host.split(':') self.host = _ret[0] self.port = _ret[1] elif self.scheme == 'https': self.port = 443 elif self.scheme == 'http': self.port = 80 else: self.port = None if not is_port_open(self.host, self.port): self.print_msg('[Port Not Open] %s:%s' % (self.host, self.port)) return False self.has_http = True self.no_scripts = 1 self.init_final() self.load_all_urls_from_log_file() return True else: host = os.path.basename(log_file).replace('.log', '') try: socket.gethostbyname(host) self.init_from_url(host) # Fix Me return True except Exception as e: self.print_msg('[ERROR] Invalid host from log name: %s' % host) return False
Example #7
Source File: BBScan.py From BBScan with Apache License 2.0 | 5 votes |
def domain_lookup_check(queue_targets_origin, processed_targets, queue_targets, q_results): """ 解析域名,检查域名有效性 """ while True: try: url = queue_targets_origin.get_nowait() except Queue.Empty as e: break # scheme netloc path if url.find('://') < 0: netloc = url[:url.find('/')] if url.find('/') > 0 else url else: scheme, netloc, path, params, query, fragment = urlparse.urlparse(url, 'http') # host port if netloc.find(':') >= 0: _ = netloc.split(':') host = _[0] else: host = netloc try: ip = g_socket.gethostbyname(host) processed_targets.append(ip) queue_targets.put((url, 0)) except Exception as e: q_results.put('Invalid domain: %s' % host)