Desenvolvimento de Armamento Python - Capítulo sobre Armamento Modularização da Coleta de Informações Whois (45)
Quando penetramos, precisamos realizar uma coleta abrangente de informações. Além da coleta ativa de informações, muitas vezes também realizamos a coleta passiva de informações. A coleta de informações Whois é uma delas. Podemos usar alguns sites para coletar informações Whois, como nome de domínio Whois consulta - Página inicial do webmaster , por exemplo, conforme mostrado na figura abaixo, usamos este site para consultar algumas informações de nomes de domínio relacionadas sobre qq.com, conforme mostrado na figura:
Então, como usamos Python para desenvolver esta função? , o princípio da coleta de informações Whois é usar a linha de comando para chamar a consulta de comando whois ou chamar alguns sites para consultar informações relacionadas.Precisamos prestar atenção a dois pontos:
- Primeiro determine se o nome de domínio existe
- Em seguida, verifique as informações whois deste nome de domínio
Aqui está um exemplo de script simples para obter a localização e informações whois de um endereço IP:
Certifique-se de ter instalado a biblioteca de solicitações, que pode ser instalada usando o seguinte 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)
Ao executar o script, insira o endereço IP que deseja consultar e o script retornará os detalhes do IP e as informações whois: