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解析证书可获得比较准确的域名。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6997.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~