05
2024
07
12:33:17

利用IP反查域名的几种方法

0x1前言

渗透测试过程中,批量扫描到一些IP地址,需要反差域名,这里给出三种方法:

  • 利用nslookup反查域名

  • 利用socket批量解析

  • 利用pyopenssl解析证书中的CN

0x2 利用nslookup反查域名

nslookup是最基础的域名解析工具,Windows和Linux上都可以使用。利用nslookup可以解析域名,也可以利用ip反查域名。

  • 正向解析:通过域名查IP

nslookup domain [dnsserver]

  • 反向解析:通过ip反查域名

nslookup -qt=ptr ip [dnsserver]

nslookup反向解析结果不够准确,而且很多ip是解析不出来的

0x3 利用socket解析

pyhton中的Socket 模块提供了在构建 socket 服务器和客户机时所需要的所有功能。我们只需使用其gethostbyaddr函数解析ip.

import socket 
domain=socket.gethostbyaddr('ip')

0x4利用pyopenssl解析

SSL证书

HTTPS的核心是数据加密和认证,在HTTPS数据传输前的握手过程中,网站向浏览器发送SSL证书,证书中包含了网站的域名、证书有效期、颁发机构、公钥等信息,我们可以解析IP:443发送的证书,获取到比较准确的域名信息。

pyopenssl

pyopenssl是一个封装了openssl的python模块,使用它可以方便地进行一些加解密操作

from requests.packages.urllib3.contrib import pyopenssl as reqs

ip='220.181.38.148'
port='443'
try:    
    x509 = reqs.OpenSSL.crypto.load_certificate(
        reqs.OpenSSL.crypto.FILETYPE_PEM,
        reqs.ssl.get_server_certificate((ip, port))
    )
    domain = x509.get_subject().CN
    print(domain)
except:
    print(ip+'>Get CN failed')

0x5

从上述结果来看,nslookup和socket的解析相同,而且很多ip也解析不了;在ip开放443端口的情况下,利用ssl解析证书可获得比较准确的域名。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/6997.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: