安全开发实战(2)---域名反查IP

发布于:2024-04-25 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

安全开发专栏

前言 

域名与ip的关系

域名反查ip的作用

1.2.1 One

1.2.2 Two

1.2.3 批量监测

​总结 


安全开发专栏

                                                             安全开发实战icon-default.png?t=N7T8http://t.csdnimg.cn/25N7H

        这步是比较关键的一步,一般进行cdn监测后,获取到真实ip地址后,或是域名时,然后进行域名反查IP地址,进行进一步的端口扫描

前言 

域名与ip的关系

        域名与 IP 地址之间的关系是通过 DNS(Domain Name System,域名系统)建立的。DNS 是一个将域名映射到 IP 地址的分布式数据库系统。域名是人们容易记忆的字符串,而 IP 地址则是计算机网络中唯一标识主机的数字标识。通过将域名与 IP 地址进行映射,DNS 允许用户通过输入易记的域名来访问网络资源,而无需记住复杂的 IP 地址。

域名反查ip的作用

        在渗透测试中,域名反查 IP(Inverse DNS Lookup)的作用是将一个给定的域名转换为其对应的 IP 地址。这项技术可以用来确定特定域名背后的服务器或主机的真实 IP 地址,可以帮助我们识别潜在的目标系统,并进一步进行目标侦察和漏洞分析。通过了解特定域名背后的真实 IP 地址,我们可以针对性地进行攻击或评估系统的安全性。

        最重要的一点是通过域名反查 IP 还可以用于检测可能存在的 DNS 劫持或欺骗等攻击,因为它提供了域名和实际 IP 地址之间的映射关系,可以帮助识别潜在的不正常情况。

        比如最近教育src出现的提交安全情报中,可以通过查看是否存在DNS劫持,来判断教育网站是否存在安全威胁

1.2.1 One

      直接使用socket.gethostbyname()方法进行获取域名的ip地址,下面是返回的ip地址,当然不是真实ip

# 先判断是否有cdn后,然后有需要的话通过域名反查IP地址
import socket
​
ip = socket.gethostbyname('www.baidu.com')
print(ip)
36.155.132.76
1.2.2 Two

这里先增加一个可以输入ip地址,然后输出

import socket
ip = str(input('请输入IP地址:'))
ip = socket.gethostbyname(f'{ip}')
print(ip)

1.2.3 批量监测

        可以批量进行域名批量反查ip地址,中间出现过一次问题,问题解决方案在上一篇的那个cdn遇到的是一致的,但是,这次会导致,读取域名时使用f.readlines()时会导致,读取的url中会自动增加上/n,导致域名查询ip地址时出现错误

# 先判断是否有cdn后,然后有需要的话通过域名反查IP地址
import socket
​
with open("url.txt", "r") as f:
    for url in f.readlines():
        url = url.rstrip()  # 去掉换行符
        ip = socket.gethostbyname(url)
        print(f'{url} : {ip}')
        with open("ip.txt", "a+") as w:
            w.write(f'{url} : {ip}'+'\n')
​

url.txt

www.baidu.com
www.bing.com

ip.txt

总结 

  域名反查ip对于进行进一步渗透测试也是比较关键的一步,其实说更具体一点是查找真实ip地址,这里就是同写个小脚本,查询域名的ip地址,没什么含金量,主要是能够帮助我们在渗透中节省时间.