Python-Waffenentwicklung – Waffenkapitel Whois-Informationssammlung Modularisierung (45)

Python-Waffenentwicklung – Waffenkapitel Whois-Informationssammlung Modularisierung (45)

Wenn wir eindringen, müssen wir eine umfassende Informationssammlung durchführen. Neben der aktiven Informationssammlung führen wir häufig auch eine passive Informationssammlung durch. Die Sammlung von Whois-Informationen ist eine davon. Wir können einige Websites verwenden, um Whois-Informationen zu sammeln, z. B. Whois zum Domainnamen Abfrage - Startseite des Webmasters . Wie in der folgenden Abbildung dargestellt, verwenden wir diese Website, um einige verwandte Domänennameninformationen zu qq.com abzufragen, wie in der Abbildung dargestellt:

Fügen Sie hier eine Bildbeschreibung ein

Wie verwenden wir Python, um diese Funktion zu entwickeln? Das Prinzip der Whois-Informationserfassung besteht darin, über die Befehlszeile die Whois-Befehlsabfrage aufzurufen oder einige Websites aufzurufen, um verwandte Informationen abzufragen. Wir müssen auf zwei Punkte achten:

  1. Stellen Sie zunächst fest, ob der Domänenname existiert
  2. Überprüfen Sie dann die Whois-Informationen dieses Domainnamens

Hier ist ein einfaches Beispielskript, um den Standort und die Whois-Informationen einer IP-Adresse abzurufen:

Stellen Sie sicher, dass Sie die Anforderungsbibliothek installiert haben, die mit dem folgenden Befehl installiert werden kann:

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)

Geben Sie beim Ausführen des Skripts die IP-Adresse ein, die Sie abfragen möchten. Das Skript gibt dann die IP-Details und Whois-Informationen zurück:

Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/qq_64973687/article/details/135584170
Empfohlen
Rangfolge