信息收集之域名、IP互查

目的

Linux下通过shell终端查询某域名的IP地址、通过IP地址查询绑定的域名。并
整理返回结果,创建python工具。

环境

linux + 命令行

工具

1.  ping
2.  host
3.  dig
4.  nslookup

工具一:PING --- 简单粗暴

使用ping命令发送一次请求,使用ICMP协议直接与目标通信。只要目标站点存在DNS公网解析,均可以找到域名对应的IP地址。

Ping -c 1 <domain name>

#  例1:ping 存在的域名
[email protected]:~# ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from baidu.com (111.13.101.208): icmp_seq=1 ttl=128 time=13.0 ms

--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 13.053/13.053/13.053/0.000 ms

# 例二:ping映射到禁用ICMP协议主机上的域名
[email protected]:~# ping imooc.com
PING imooc.com (117.121.101.40) 56(84) bytes of data.

--- imooc.com ping statistics ---
432 packets transmitted, 0 received, 100% packet loss, time 441337ms

# 例二:ping不存在的域名
[email protected]:~# ping ajsdlfjasldfj.com
ping: ajsdlfjasldfj.com: Name or service not known

工具二:host

host是一个简单、单目标、可指定DNS服务器的域名查询工具。默认使用/etc/resolv.conf文件中的DNS服务器查询指定域名的A、AAAA、MX记录。
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time] [-R number]
                     [-m flag] hostname [server]

# 常用参数:
-a 指定查询所有类型(A、AAAA、MX、SOA等)的记录
-t <type> 设置查询记录的类型
-W <number> 设置查询超时时间
-s 设置遇到SERVFAIL响应时,停止查询

# 示例一 (未指定超时时间,等待6秒后返回结果)
[email protected]:~# host ziroom.com
ziroom.com has address 119.254.76.107
ziroom.com has address 119.254.76.108
ziroom.com has address 119.254.76.106
ziroom.com has address 119.254.83.229
ziroom.com has address 119.254.83.228
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached

# 示例二 (指定遇到SERVFAIL后停止继续查询)
[email protected]:~# host -s ziroom.com
ziroom.com has address 119.254.76.107
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached

# 示例三 (设置超时时间,大概3秒返回结果)
[email protected]:~# host -W 1 ziroom.com
ziroom.com has address 119.254.76.107
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached

# 通过上面三个实验的结果,如果要用在python中,应该使用 host -W 1 <domain name>

工具三:dig

dig是一款灵活、易用、功能强大、支持指定DNS服务器及批量查询的域名查询工具。dig向DNS服务器提交查询并整理展示查询结果。dig默认使用/etc/resolv.conf文件查询指定域名的A、NS记录。
# 快速命令
dig ziroom.com +noadditional +noadflag +nocomments
# 参数解释
# ziroom.com 设置查询的域名
# +noadditional 设置不显示附加结果
# +noadflag 设置不显示验证信息
# +nocomments 设置不显示注释信息

# 示例
[email protected]:~# dig ziroom.com +noadditional +noadflag +nocomments

; <<>> DiG 9.11.2-5-Debian <<>> ziroom.com +noadditional +noadflag +nocomments
;; global options: +cmd
;ziroom.com.                    IN      A
ziroom.com.             5       IN      A       119.254.76.107
ziroom.com.             5       IN      A       119.254.83.228
ziroom.com.             5       IN      A       119.254.76.106
ziroom.com.             5       IN      A       119.254.83.229
ziroom.com.             5       IN      A       119.254.76.108
ziroom.com.             5       IN      NS      dns10.hichina.com.
ziroom.com.             5       IN      NS      dns9.hichina.com.
;; Query time: 26 msec
;; SERVER: 192.168.158.2#53(192.168.158.2)
;; WHEN: Mon Apr 16 06:06:26 EDT 2018
;; MSG SIZE  rcvd: 422

工具四:nslookup

一款功能丰富的域名查询工具。直接交互模式、非交互模式,默认查询A记录。
# 快速命令
nslookup -qt A ziroom.com

# 示例一
[email protected]:~# nslookup -qt ziroom.com
*** Invalid option: qt
Server:         192.168.158.2
Address:        192.168.158.2#53

Non-authoritative answer:
Name:   ziroom.com
Address: 119.254.76.107
** server can‘t find ziroom.com: SERVFAIL

工具对比

ping host dig nslookup
速度 一般 最快
准确率 准确、单一 准确、丰富 准确、单一 不一定准确、丰富

python代码

class WebSite(object):
    def GetIpBySite(self, site):
        cmd_dig = "dig {0} +noadditional +noadflag +nocomments +nodnssec".format(site)
        cmd_host = "host -W 1 -s {0}".format(site)
        try:
            ans = self.RunCmdByOs(cmd_dig)
            if ans:
                ans = ans.split(‘\n‘)[4]
                ip = ans.split(‘\t‘)
                return (ip[5])
        except:
            pass
    def RunCmdByOs(self, cmd):
        try:
            f = os.popen(cmd)
            ans = f.read()
            f.close()
            return ans
        except:
            pass

ws = WebSite()
ip = ws.GetIpBySite("ziroom.com")
print(“ziroom.com的IP地址为:”ip)
# ziroom.com的IP地址为:119.254.76.107

总结

为了更好的在工具中输出域名对应的IP地址,应该对命令执行结果的字符串进行分析,找到合适的正则模式,匹配完整的IP地址。

原文地址:http://blog.51cto.com/executer/2104088

时间: 2024-11-02 22:20:45

信息收集之域名、IP互查的相关文章

kali信息收集之域名查询

一:域名查询工具DMitry DMitry工具是用来查询IP或域名WHOIS信息的. WHOIS是用来查询域名是否已经被注册及已经注册域名的详细信息的数据库(如域名所有人和域名注册商) . 使用该工具可以查到域名的注册商和过期时间等,是一个一体化的信息收集工具. 它可以用来收集以下信息: 1. 端口扫描 2. whois主机IP和域名信息 3. 从Netcraft.com获取主机信息 4. 针对目标主机查询子域名 5. 目标主机域名中包含的邮件地址 使用: 列出帮助信息:dmitry –help

Kali渗透(一)----信息收集之域名(WHOIS)

一.信息收集分类 信息收集的方法可归为两类: 1.主动式收集:主动式收集是通过直接发起与被测目标网络之间的互动来获取相关信息,例如,ICMP ping或者TCP端口扫描. 2.被动式收集:被动式收集则是通过第三方服务来获取目标网络的相关信息,例如使用谷歌搜索引擎等. 二.域名信息收集  whios是个标准的互联网协议,可用于收集网络注册,注册域名,IP地址和自治系统的信息,whios数据库记录有该域名的DNS服务器信息和注册人的联系信息. 三.示例 默认安装的kali中带有whois的客户端,如

被动信息收集

什么叫基础?基础就是啥都不给你,你能造出一个系统来. PC上发起的DNS查询99.9%是递归查询,查找的是本地dns服务器上的缓存,通常不会有迭代的过程. dns信息收集,域名记录:A,C nmae,NS,MX,ptr 查询工具:dnslookup.dig. 反向查询:dig +noall +answer -x 8.8.8.8 bind版本信息:dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com 通过bind版本信息可以找出一些漏洞信

MSF魔鬼训练营-3.1.1信息收集-通过DNS和IP地址挖掘目标网络信息

情报搜集环境站渗透测试全过程的80%~90% 一.外围信息搜集(公开渠道信息搜集OSINT  open source intelligence) 3.1.1信息收集-通过DNS和IP地址挖掘目标网络信息 1.whois域名注册信息查询 whois查询时去掉www.ftp等前缀 2.nslookup与dig域名查询 nslookup与dig的区别 nslookup只会得到DNS解析服务器报错在Cache中的非权威解答. dig工具可以从该域名的官方DNS服务器商查询到精确的权威答案.?尝试查询了一

信息收集-收集域名信息

课程内容1.域名介绍2.whois介绍3.whois查询4.备案信息查询 1.域名介绍域名(domain name),是由一串用点分隔的名字组成的internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位.例如:学院域名:51cto.com,对于edu.51cto.com 以及www.51cto.com是该域名对应的子域名,而edu和www都是对应的主机头. 用户访问网站的完整流程在浏览器输入想要访问的域名之后,浏览器会进行域名解析获得ip地址,在经过tcp的连接,实现

信息收集之DNS信息收集 -- fierce

目录 工具描述 参数解释 爆破子域名 自定义字典爆破子域名 反查指定范围的IP段 反查指定域名附近的IP段 反查指定域名所在的C段IP 扫描优化:自定义超时时间.多线程 工具描述 Fierce是一款IP.域名互查的DNS工具,可进行域传送漏洞检测.字典爆破子域名.反查IP段.反查指定域名上下一段IP,属于一款半轻量级的多线程信息收集用具.Fierce可尝试建立HTTP连接以确定子域名是否存在,此功能为非轻量级功能,所以,定义为半轻量级. 参数解释 # fierce (C) Copywrite 2

渗透测试之信息收集

在对一个站进行渗透测试的过程中,信息收集是非常重要的.信息收集的详细与否可能决定着此次渗透测试的成功与否. 信息收集的方式可以分为两种:主动方式和被动方式. 主动的信息收集方式:通过直接访问.扫描网站,这种将流量流经网站的行为. 被动的信息收集方式:利用第三方的服务对目标进行访问了解,比例:whois 没有一种方式是最完美的,每个方式都有自己的优势,主动方式,你能获取更多的信息,但是目标主机可能会记录你的操作记录.被动方式,你收集的信息会先对少,但是你的行动并不会被目标主机发现.一般在一个渗透项

2017-2018-2 20155303『网络对抗技术』Exp6:信息收集与漏洞扫描

2017-2018-2 20155303『网络对抗技术』 Exp6:信息收集与漏洞扫描 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.基础问题 二.实践过程记录 1.信息收集 1.1通过DNS和IP挖掘目标网站的信息 1.2通过搜索引擎进行信息搜集 1.3活跃主机扫描 1.4nmap的使用 1.5网络服务扫描 2.漏洞扫描 三.实践总结及体会 附:参考资料 一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的

网络对抗 Exp6 信息收集与漏洞扫描 20154311 王卓然

Exp6 信息收集与漏洞扫描 1. 实验内容 本次实践目标是掌握信息搜集的最基础技能与常用工具的使用方法. (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞 2.实验步骤 1. 信息搜集 whois查询注册信息 输入指令 whois + 域名,查询注册信息(这里以sina为例). 需要注意的是要去掉www等前缀,因为注册域名时通常会注册一个上层域名,子