Python武器库开发-武器库篇之Whois信息收集模块化(四十五)

发布时间:2024年01月14日

Python武器库开发-武器库篇之Whois信息收集模块化(四十五)

我们在进行渗透的时候,需要进行全面的信息收集,除了主动信息收集之外,我们还经常会进行被动信息收集,Whois信息收集就是其中的一种,我们可以利用一些网站进行Whois信息收集,比如域名Whois查询-站长之家,比如下图我们用该网站去查询关于 qq.com 的一些相关的域名信息,如图:

在这里插入图片描述

那么我们该如何用Python去开发这一功能呢?,Whois信息收集的原理就是使用命令行调用whois命令查询或者是去调用一些网站上去查询相关的信息,这一点我们需要注意两点:

  1. 先判断该域名是否存在
  2. 再去查询这个域名的whois信息

以下是一个简单的示例脚本来获取IP地址的归属地和whois信息:

确保已经安装了requests库,可以使用以下命令安装:

pip install requests
import requests

def get_ip_details(ip):
    url = f"http://ip-api.com/json/{ip}"
    response = requests.get(url)
    data = response.json()
    
    if data['status'] == 'fail':
        return "无法获取IP信息"
    
    ip_details = {
        'IP地址': data['query'],
        '所在国家': data['country'],
        '所在城市': data['city'],
        '运营商': data['isp'],
        'ASN': data['as'],
        '是否代理': data['proxy']
    }
    
    return ip_details

def get_whois_info(ip):
    url = f"http://ip-api.com/whois/{ip}"
    response = requests.get(url)
    whois_info = response.text
    
    return whois_info

if __name__ == "__main__":
    ip = input("请输入IP地址: ")
    ip_details = get_ip_details(ip)
    whois_info = get_whois_info(ip)
    
    print("IP详细信息:")
    for key, value in ip_details.items():
        print(f"{key}: {value}")
    
    print("\nWhois信息:")
    print(whois_info)

在运行脚本时,输入要查询的IP地址,脚本将返回IP的详细信息和whois信息:

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_64973687/article/details/135584170
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。