正向主机名查ip的host简单枚举脚本
创建一个包含域名列表的文本文件并使用 host
命令查询每个域名的过程可以分为以下几个步骤:
- 输入
vim list.txt
命令来创建并打开一个新的文本文件list.txt
。vim list.txt
-
输入域名:
- 在打开的
vim
编辑器中,点击i进入插入模式,输入你想要查询的域名前缀,如www
、ftp
、mail
等,每行一个。
- 在打开的
-
保存并退出vim:
- 按下
Esc
键退出编辑模式。 - 输入
:wq
(表示写入并退出)然后按下Enter
键保存文件并退出vim
。
- 按下
-
查看list.txt文件内容:
- 使用
cat list.txt
命令查看文件内容,确保所有域名前缀都已正确输入。cat list.txt www ftp mail owa proxy router
- 使用
5.编写并运行查询脚本:再次打开终端,输入以下脚本命令,这个脚本会读取 list.txt
文件中的每一行,并将每个域名前缀附加到 .baidu.com
后,然后使用 host
命令查询每个生成的完整域名。
for ip in $(cat list.txt); do host $ip.baidu.com; done
这段脚本和输出展示了如何使用shell命令批量查询域名的DNS记录。具体来说,脚本执行了以下操作:
-
for ip in $(cat list.txt); do host $ip.baidu.com; done
:- 这是一个shell循环,它从
list.txt
文件中读取每一行(假设每行是一个IP地址或域名),然后对每个<ip>.baidu.com
执行host
命令进行DNS查询。
- 这是一个shell循环,它从
-
对于每个域名,
host
命令查询了其别名(CNAME)和地址(A记录)信息,以及IPv6地址(AAAA记录)信息。以下是部分域名的查询结果示例:-
www.baidu.com
:- 是
www.a.shifen.com
的别名。 - 有两个IPv4地址:
183.2.172.185
和183.2.172.42
。 - 有两个IPv6地址:
240e:ff:e020:9ae:0:ff:b014:8e8b
和240e:ff:e020:966:0:ff:b042:f296
。
- 是
-
ftp.baidu.com
:- 没有找到该主机:3(NXDOMAIN),表示该域名不存在或没有相应的DNS记录。
-
mail.baidu.com
:- 是
mail.maillb.baidu.com
的别名。 - 有一个IPv4地址:
220.181.50.187
。
- 是
-
owa.baidu.com
:- 是
email.n.shifen.com
的别名。 email.n.shifen.com
又是domain-offline.baidu.com
的别名。domain-offline.baidu.com
有一个IPv4地址:182.61.62.50
。
- 是
-
proxy.baidu.com
:- 是
ns3.baidu.com
的别名。 ns3.baidu.com
有两个IPv4地址:153.3.238.93
和36.155.132.78
。
- 是
-
router.baidu.com
:- 是
router.n.shifen.com
的别名。 router.n.shifen.com
有一个IPv4地址:10.65.211.124
。
- 是
-
注意:router.baidu.com
的IP地址10.65.211.124
是一个私有地址,通常用于内部网络,而不是公开可访问的服务器。
反向ip查host主机名
在这里我们观察到baidu有两个IPv4地址:183.2.172.185
和 183.2.172.42
,故我们推测在183.2.172.xxx,也存在其他的域名,我们可以进行批量反向查找。其中 grep -v "not found",过滤没有查找到域名的主机。
for ip in $(seq 30 400); do host 183.2.172.$ip;done|grep -v "not found"
;; communications error to 192.168.119.159#53: timed out
但这时并没有查找到结果:
我们单独输入,查找一个存在的域名:
host 183.2.172.42
Host 42.172.2.183.in-addr.arpa. not found: 3(NXDOMAIN)
原因如下,当你使用 host
命令查询一个IP地址时,实际上是在进行一个反向DNS查找(也称为反向解析)。这种查找的目的是确定哪个域名与给定的IP地址相关联。
你遇到的情况可以这样解释:
-
反向DNS查找失败:
- 命令
host 39.156.66.10
尝试找到一个域名,该域名的A记录指向39.156.66.10
这个IP地址。然而,输出 "Host 10.66.156.39.in-addr.arpa. not found: 3(NXDOMAIN)" 表示没有找到对应的PTR记录(指针记录,用于反向DNS查找)或者该IP地址没有配置反向DNS。
- 命令
-
正向DNS查找成功:
- 命令
host baidu.com
是一个正向DNS查找,它查询baidu.com
这个域名的IP地址。输出 "baidu.com has address 39.156.66.10" 表示找到了一个A记录,将baidu.com
域名解析到了IP地址39.156.66.10
。
- 命令
为什么会出现这种情况呢?原因可能包括:
-
反向DNS未配置:不是所有的IP地址都有PTR记录。服务器管理员可能没有为该IP配置反向DNS记录,或者该IP地址是由一个不提供反向DNS服务的ISP分配的。
-
权限问题:某些ISP或服务器可能限制或不允许用户配置反向DNS记录。
-
缓存问题:DNS查询结果可能受到本地或ISP DNS缓存的影响。有时候,即使没有PTR记录,ISP的DNS服务器也可能返回一个域名,尤其是当ISP拥有该IP地址块时。
-
隐私保护:一些组织可能出于隐私保护的目的,选择不公开他们的IP地址与域名的映射关系。
-
查找顺序:DNS服务器可能会根据查询类型和配置,返回不同的结果。在某些情况下,服务器可能为正向查询提供答案,但不会为反向查询提供答案。