本文整理匯總了Python中socket.gethostbyaddr方法的典型用法代碼示例。如果您正苦於以下問題:Python socket.gethostbyaddr方法的具體用法?Python socket.gethostbyaddr怎麽用?Python socket.gethostbyaddr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類socket
的用法示例。
在下文中一共展示了socket.gethostbyaddr方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def __init__(self, name, host):
self.__clientKey = None
self.__macAddress = None
self.__name = name
self.__handshake_done = False
# Check if host is an IP address or hostname
# Try to resolve the hostname
try:
socket.inet_aton(host)
self.__ip = host
self.__hostname = socket.gethostbyaddr(host)[0]
except:
self.__hostname = host
self.__ip = socket.gethostbyname(host)
if self.__macAddress is None and self.__ip is not None:
self.__macAddress = self.__get_mac_address(self.__ip)
super(LGTVAuth, self).__init__('ws://' + self.__ip + ':3000/', exclude_headers=["Origin"])
self.__waiting_callback = self.__prompt
示例2: process
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def process(self):
# load any targets we are interested in
self.getTargets()
# loop over each target
for t in self.targets:
# verify we have not tested this host before
if not self.seentarget(t):
# add the new IP to the already seen list
self.addseentarget(t)
self.display.verbose(self.shortName + " - Connecting to " + t)
try:
results = socket.gethostbyaddr(t)
self.fire("newHostname")
kb.add('host/' + t + '/hostname/' + results[0])
except:
pass
return
示例3: testHostnameRes
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def testHostnameRes(self):
# Testing hostname resolution mechanisms
hostname = socket.gethostname()
try:
ip = socket.gethostbyname(hostname)
except socket.error:
# Probably name lookup wasn't set up right; skip this test
self.skipTest('name lookup failure')
self.assertTrue(ip.find('.') >= 0, "Error resolving host to ip.")
try:
hname, aliases, ipaddrs = socket.gethostbyaddr(ip)
except socket.error:
# Probably a similar problem as above; skip this test
self.skipTest('address lookup failure')
all_host_names = [hostname, hname] + aliases
fqhn = socket.getfqdn(ip)
if not fqhn in all_host_names:
self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
示例4: register_host
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def register_host(self):
print "[*] Trying to register the host..."
platform_id = self.get_platform_id()
arch_id = self.get_arch_id()
mac = self.get_mac()
hostname, alias_list, addr_list = socket.gethostbyaddr(self.get_default_ip())
ip = addr_list[0]
host_payload = {
'name' : hostname,
'mac' : mac,
'ip' : ip,
'platform_id': platform_id,
'arch_id': arch_id
}
self.host = Rest.get_host_by_mac(mac)
if self.host is not None:
print "[!] Host with mac address %s has already been registered." % mac
Rest.update_host(self.host['id'], host_payload)
else:
self.host = Rest.create_host(host_payload)
return self.host
示例5: ip2name
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def ip2name(addr):
if not ip2name.resolve:
return addr
try:
if addr in ip2name.cache:
return ip2name.cache[addr]
# FIXME: Workaround Python bug
# Need double try/except to catch the bug
try:
name = gethostbyaddr(addr)[0]
except KeyboardInterrupt:
raise
except (socket_host_error, ValueError):
name = addr
except (socket_host_error, KeyboardInterrupt, ValueError):
ip2name.resolve = False
name = addr
ip2name.cache[addr] = name
return name
示例6: ip_to_host
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def ip_to_host(addr):
""" convert an IP address to a host name, returning shortname and fqdn to the
caller
"""
try:
fqdn = socket.gethostbyaddr(addr)[0]
shortname = fqdn.split('.')[0]
if fqdn == shortname:
fqdn = ""
except:
# can't resolve it, so default to the address given
shortname = addr
fqdn = ""
return shortname, fqdn
示例7: ip2hostname
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def ip2hostname(self, ip):
try:
hostname = socket.gethostbyaddr(ip)[0]
return hostname
except:
pass
try:
query_data = "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x20\x43\x4b\x41\x41" + \
"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + \
"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x00\x00\x21\x00\x01"
dport = 137
_s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
_s.settimeout(3)
_s.sendto(query_data, (ip, dport))
x = _s.recvfrom(1024)
tmp = x[0][57:]
_s.close()
hostname = tmp.split("\x00", 2)[0].strip()
hostname = hostname.split()[0]
return hostname
except:
pass
示例8: testHostnameRes
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def testHostnameRes(self):
# Testing hostname resolution mechanisms
hostname = socket.gethostname()
try:
ip = socket.gethostbyname(hostname)
except socket.error:
# Probably name lookup wasn't set up right; skip this test
return
self.assertTrue(ip.find('.') >= 0, "Error resolving host to ip.")
try:
hname, aliases, ipaddrs = socket.gethostbyaddr(ip)
except socket.error:
# Probably a similar problem as above; skip this test
return
all_host_names = [hostname, hname] + aliases
fqhn = socket.getfqdn(ip)
if not fqhn in all_host_names:
self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
示例9: ptr_lookup
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def ptr_lookup(cls, network):
ip = str(ipaddress.ip_interface(network).ip)
try:
primary_hostname, alias_hostnames, other_ips = socket.gethostbyaddr(ip)
except socket.herror as e:
logger.debug('DNS Reverse Lookup Error {}'.format(e))
return Html.div('DNS: n/a')
content = Html.div(
'DNS: {}'.format(
socket.getfqdn(primary_hostname)
)
)
if alias_hostnames:
content += Html.div('DNS Aliases:')
for hostname in alias_hostnames:
fqdn_hostname = socket.getfqdn(hostname)
logger.debug('Alias {} FQDN {}'.format(hostname, fqdn_hostname))
content += Html.div(fqdn_hostname)
return content
示例10: whois
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def whois(url, command=False):
# clean domain to expose netloc
ip_match = re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", url)
if ip_match:
domain = url
try:
result = socket.gethostbyaddr(url)
except socket.herror as e:
pass
else:
domain = result[0]
else:
domain = extract_domain(url)
if command:
# try native whois command
r = subprocess.Popen(['whois', domain], stdout=subprocess.PIPE)
text = r.stdout.read()
else:
# try builtin client
nic_client = NICClient()
text = nic_client.whois_lookup(None, domain, 0)
return WhoisEntry.load(domain, text)
示例11: addUTMPEntry
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def addUTMPEntry(self, loggedIn=1):
if not utmp:
return
ipAddress = self.avatar.conn.transport.transport.getPeer().host
packedIp, = struct.unpack('L', socket.inet_aton(ipAddress))
ttyName = self.ptyTuple[2][5:]
t = time.time()
t1 = int(t)
t2 = int((t-t1) * 1e6)
entry = utmp.UtmpEntry()
entry.ut_type = loggedIn and utmp.USER_PROCESS or utmp.DEAD_PROCESS
entry.ut_pid = self.pty.pid
entry.ut_line = ttyName
entry.ut_id = ttyName[-4:]
entry.ut_tv = (t1, t2)
if loggedIn:
entry.ut_user = self.avatar.username
entry.ut_host = socket.gethostbyaddr(ipAddress)[0]
entry.ut_addr_v6 = (packedIp, 0, 0, 0)
a = utmp.UtmpRecord(utmp.UTMP_FILE)
a.pututline(entry)
a.endutent()
b = utmp.UtmpRecord(utmp.WTMP_FILE)
b.pututline(entry)
b.endutent()
示例12: get_local_hostname
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def get_local_hostname(self):
"""
Returns the local hostname under which the webinterface can be reached
:return: fully qualified hostname
:rtype: str
"""
import socket
try:
return socket.gethostbyaddr(self.get_local_ip_address())[0] # can fail with default /etc/hosts
except socket.herror:
try:
return socket.gethostbyaddr("127.0.1.1")[0] # in debian based systems hostname is assigned to "127.0.1.1" by default
except socket.herror:
try:
return socket.gethostbyaddr("127.0.0.1")[0] # 'localhost' in most cases
except socket.herror:
return "localhost" # should not happen
示例13: testHostnameRes
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def testHostnameRes(self):
# Testing hostname resolution mechanisms
hostname = socket.gethostname()
try:
ip = socket.gethostbyname(hostname)
except OSError:
# Probably name lookup wasn't set up right; skip this test
self.skipTest('name lookup failure')
self.assertTrue(ip.find('.') >= 0, "Error resolving host to ip.")
try:
hname, aliases, ipaddrs = socket.gethostbyaddr(ip)
except OSError:
# Probably a similar problem as above; skip this test
self.skipTest('name lookup failure')
all_host_names = [hostname, hname] + aliases
fqhn = socket.getfqdn(ip)
if not fqhn in all_host_names:
self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
示例14: port_forward_log
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def port_forward_log(self, channel_name, conn_details):
the_dns = ''
try:
the_dns = ' (' + socket.gethostbyaddr(conn_details['srcIP'])[0] + ')'
except:
pass
# TODO: LOG SOMEWHERE
log.msg(log.LPURPLE, '[OUTPUT]',
channel_name + ' Source: ' + conn_details['srcIP'] + ':' + str(conn_details['srcPort']) + the_dns)
the_dns = ''
try:
the_dns = ' (' + socket.gethostbyaddr(conn_details['dstIP'])[0] + ')'
except:
pass
# TODO: LOG SOMEWHERE
log.msg(log.LPURPLE, '[OUTPUT]',
channel_name + ' Destination: ' + conn_details['dstIP'] + ':' + str(conn_details['dstPort']) + the_dns)
示例15: whois
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import gethostbyaddr [as 別名]
def whois(url, command=False, flags=0):
# clean domain to expose netloc
ip_match = IPV4_OR_V6.match(url)
if ip_match:
domain = url
try:
result = socket.gethostbyaddr(url)
except socket.herror as e:
pass
else:
domain = extract_domain(result[0])
else:
domain = extract_domain(url)
if command:
# try native whois command
r = subprocess.Popen(['whois', domain], stdout=subprocess.PIPE)
text = r.stdout.read().decode()
else:
# try builtin client
nic_client = NICClient()
text = nic_client.whois_lookup(None, domain.encode('idna'), flags)
return WhoisEntry.load(domain, text)