hosts/generate-hosts.py

37 lines
868 B
Python
Executable File

#!/usr/bin/env python
import sys
import socket
import re
import dns.resolver
exp = re.compile('([^\.]+)')
hosts = []
if __name__ == '__main__':
for host in sys.stdin:
host = host.replace('\n', '')
if host == "" or host[0] == "#":
print(host)
continue
if host[0] == '!':
print(host[1:])
continue
try:
if True:
res = dns.resolver.query(host)
ips = socket.getaddrinfo(str(res.qname), None)
for ip in ips:
entry = (ip[4][0], str(res.qname)[:-1], exp.match(host).group(0))
if not entry in hosts:
print("{0:45} {1} {2}".format(ip[4][0], str(res.qname)[:-1], exp.match(host).group(0)))
hosts.append(entry)
except:
sys.stderr.write('Failed to get IP for: {0}\n'.format(host))