我如何find在给定的净范围内parsing为IP的任何域名?

例如,给定范围:

172.128.0.0 - 172.191.255.255 

我需要find一个域名,parsing为在该范围内的IP地址。 可能吗 ? 我正在使用Linux系统。

您可以对范围内的每个IP执行反向查找,并search您要查找的域的结果。 但是,只有负责该域名的人员为该IP创build了PTRlogging,这才会起作用。

这是一个快速和肮脏的工作示例:

 #!/usr/bin/env python """ ipAddrRange function ripped from: http://vinojdavis.blogspot.com/2009/02/def-ipaddrrangestartaddr-endaddr-def.html """ import sys import socket def ipAddrRange(startAddr, endAddr): def incrAddr(addrList): addrList[3] += 1 for i in (3,2,1): if addrList[i] == 256: addrList[i] = 0 addrList[i-1] += 1 def asString(addrList): return ".".join(map(str,addrList)) startAddrList = map(int,startAddr.split(".")) endAddrList = map(int,endAddr.split(".")) curAddrList = startAddrList[:] yield asString(curAddrList) for i in range(4): while curAddrList[i] < endAddrList[i]: incrAddr(curAddrList) yield asString(curAddrList) if len(sys.argv) > 1 and sys.argv[1]: domain_filter = sys.argv[1] else: domain_filter = "" for addr in ipAddrRange("172.128.0.0","172.191.255.255"): ptr = socket.gethostbyaddr(addr)[0] if domain_filter: if domain_filter in ptr: print ptr else: print ptr 

示例运行:

 # ./reverse_spy.py aol AC800000.ipt.aol.com AC800001.ipt.aol.com 

您可以将输出限制为与可选参数匹配的结果。

另外,限制你的范围,因为你的范例是4194304个IP。 ;)有人用这样的范围寻找雅。

您是否正在尝试查找parsing为特定IP的任何 DNS名称; 或者您是否在尝试查找parsing为IP的所有 DNS名称? 后者是不可能的。 前者几乎可以在任何操作系统上轻松完成:

 nslookup set type=ptr (reversed-ip).in-addr.arpa 

(反向ip)部分是它听起来像。 如果你的IP是1.2.3.4,那么倒过来是4.3.2.1,第三行是:

 4.3.2.1.in-addr.arpa 

据ARIN称,172.128.0.0/10是美国在线所有。 你可以尝试查询AOL列出的DNS服务器,看看他们是否有你感兴趣的IP的反向条目。(转到arin.net并search他们的urlwhois)。

nmap -sL -R 172.128-191.0-255.0-255

-sL列出没有扫描的主机。 -R强制DNSparsing。