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

简介: 本文介绍了域名与IP地址的关系以及域名反查IP的作用。通过DNS,域名与IP地址相互映射,方便用户访问网络资源。在渗透测试中,反查IP用于确定服务器真实地址、进行目标侦察和安全性评估,也能检测DNS劫持。文中提供了一些Python代码示例,演示了如何进行域名反查IP和批量处理,并强调在处理时要注意去除换行符以避免错误。

前言


版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                            

原文链接:https://blog.csdn.net/weixin_72543266/article/details/137916052


这步是比较关键的一步,一般进行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)

image.gif

36.155.132.76

image.gif

1.2.2 Two

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

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

image.gif

image.gif

1.2.3 批量监测

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

image.gif

# 先判断是否有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')

image.gif

url.txt

www.baidu.com
www.bing.com

image.gif

ip.txt

image.gif

image.gif

总结

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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
5天前
|
域名解析 缓存 网络协议
当使用IP地址可以访问应用系统,但通过域名无法访问时
【1月更文挑战第14天】【1月更文挑战第68篇】当使用IP地址可以访问应用系统,但通过域名无法访问时
49 6
|
5天前
|
域名解析 应用服务中间件 网络安全
自己的ip地址被别人的域名解析到?已解决
自己的ip地址被别人的域名解析到?已解决
|
6月前
|
Java
Java 如何根据域名查询对应的ip地址
Java 如何根据域名查询对应的ip地址
294 3
|
5天前
|
域名解析 弹性计算 应用服务中间件
基于nginx反向代理实现OSS固定域名IP访问
本文基于阿里云OSS手册:https://help.aliyun.com/zh/oss/use-cases/use-an-ecs-instance-that-runs-centos-to-configure-a-reverse-proxy-for-access-to-oss,继续深入讨论如何利用nginx反向代理,实现固定的IP/域名访问OSS bucket。官方文档能够解决大部分的反向代理固定IP访问oss bucket的场景,但是对于必须使用域名作为endpoint的系统,会出现signatrue鉴权问题。本文继续在官方文档的基础上,将反向代理需要域名作为endpoint的场景补齐方案。
|
5天前
|
安全 网络协议 测试技术
安全开发实战(4)--whois与子域名爆破
本文介绍了在网络安全渗透测试中,如何使用Whois查询和子域名爆破来收集目标组织的信息。Whois查询可以获取域名的注册者联系信息、注册时间、DNS服务器等关键数据,而子域名爆破则能发现未公开的网络资产。Whois查询可以通过Python的`python-whois`库实现,它能返回大量关于域名的详细信息。子域名爆破通常涉及创建自定义字典,使用Python的`socket`模块将字典中的字符串与主域名组合,然后尝试解析IP地址,找到有效子域名。
|
5天前
|
弹性计算 安全 Java
阿里云服务器配置、(xshell)远程连接、搭建环境、设置安全组、域名备案、申请ssl证书
以下是内容的摘要: 在阿里云购买服务器并进行基本配置的步骤如下: 1. **准备工作**: - 注册阿里云账号:访问阿里云官网并注册新账号,输入用户名、手机号和验证码。 - 实名认证:在个人中心进行实名认证,建议选择企业实名,因为个人实名可能无法索取企业发票。
|
5天前
|
Ubuntu 应用服务中间件 Linux
nginx 配置代理ip访问https的域名配置
nginx 配置代理ip访问https的域名配置
|
5天前
|
网络协议 Ubuntu Linux
|
5天前
|
域名解析 网络协议 应用服务中间件
阿里云DNS常见问题之域名在代理服务器上不能访问只能通过IP映射如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
5天前
|
域名解析 缓存 网络协议
使用IP地址可以访问应用系统,但通过域名无法访问时
使用IP地址可以访问应用系统,但通过域名无法访问时
70 1