Desarrollo de armamento Python: modularización de la recopilación de información Whois del capítulo de armamento (45)
Cuando penetramos, necesitamos llevar a cabo una recopilación completa de información. Además de la recopilación activa de información, a menudo también realizamos una recopilación pasiva de información. La recopilación de información Whois es una de ellas. Podemos utilizar algunos sitios web para recopilar información Whois, como el nombre de dominio Whois. consulta: Página de inicio del webmaster , por ejemplo, como se muestra en la figura siguiente, utilizamos este sitio web para consultar información relacionada con el nombre de dominio sobre qq.com, como se muestra en la figura:
Entonces, ¿cómo usamos Python para desarrollar esta función? El principio de la recopilación de información Whois es utilizar la línea de comando para llamar a la consulta de comando whois o llamar a algunos sitios web para consultar información relacionada. Debemos prestar atención a dos puntos:
- Primero determine si el nombre de dominio existe.
- Luego verifique la información whois de este nombre de dominio.
Aquí hay un script de ejemplo simple para obtener la ubicación y la información whois de una dirección IP:
Asegúrese de haber instalado la biblioteca de solicitudes, que se puede instalar usando el siguiente comando:
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)
Al ejecutar el script, ingrese la dirección IP que desea consultar y el script devolverá los detalles de la IP y la información whois: