使用nslookup查找域名,只查找域名

时间:2017-08-15 12:37:22

标签: python python-2.7 ip-address nslookup

目前我有一个包含多个IP的文本文件我正在尝试从使用nslookup(下面的代码)给出的信息集中仅提取域名

with open('test.txt','r') as f:
    for line in f:
        print os.system('nslookup' + " " + line)

到目前为止,它可以从第一个IP中获取所有信息。我无法通过第一个IP,但我目前正在尝试清理仅收到IP域名的信息。有没有办法做到这一点,或者我需要使用不同的模块

2 个答案:

答案 0 :(得分:0)

import socket
name = socket.gethostbyaddr(‘127.0.0.1’)
print(name)  #to get the triple
print(name[0])  #to just get the hostname

答案 1 :(得分:0)

IgorN一样,我不会进行系统调用以使用nslookup;我也会使用socket。但是,IgorN分享的答案提供了主机名。请求者要求域名。见下文:

import socket
with open('test.txt', 'r') as f:
    for ip in f:
        fqdn = socket.gethostbyaddr(ip)  # Generates a tuple in the form of: ('server.example.com', [], ['127.0.0.1'])
        domain = '.'.join(fqdn[0].split('.')[1:])
        print(domain)

假设test.txt包含以下行,该行解析为server.example.com的FQDN:

127.0.0.1

这将生成以下输出:

example.com

这是(我相信)OP的愿望。