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:
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:
- Stellen Sie zunächst fest, ob der Domänenname existiert
- Ü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: