Python武器库开发-武器库篇之Whois信息收集模块化(四十五)
我们在进行渗透的时候,需要进行全面的信息收集,除了主动信息收集之外,我们还经常会进行被动信息收集,Whois信息收集就是其中的一种,我们可以利用一些网站进行Whois信息收集,比如域名Whois查询-站长之家,比如下图我们用该网站去查询关于 qq.com 的一些相关的域名信息,如图:
那么我们该如何用Python去开发这一功能呢?,Whois信息收集的原理就是使用命令行调用whois命令查询或者是去调用一些网站上去查询相关的信息,这一点我们需要注意两点:
- 先判断该域名是否存在
- 再去查询这个域名的whois信息
以下是一个简单的示例脚本来获取IP地址的归属地和whois信息:
确保已经安装了requests库,可以使用以下命令安装:
pip install requests
import requestsdef 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_detailsdef get_whois_info(ip):url = f"http://ip-api.com/whois/{ip}"response = requests.get(url)whois_info = response.textreturn whois_infoif __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信息: