Python 兵器開発 - 兵器編 Whois 情報収集のモジュール化 (45)

Python 兵器開発 - 兵器編 Whois 情報収集のモジュール化 (45)

侵入する際には、包括的な情報収集を行う必要があります。積極的な情報収集に加えて、受動的な情報収集も行うことがよくあります。Whois 情報の収集もその 1 つです。ドメイン名 Whois など、Whois 情報を収集するためにいくつかの Web サイトを使用できます。クエリ - Webmaster's Home。たとえば、次の図に示すように、この Web サイトを使用して、qq.com に関するいくつかの関連ドメイン名情報をクエリします。

ここに画像の説明を挿入します

では、Python を使用してこの関数を開発するにはどうすればよいでしょうか? Whois 情報収集の原則は、コマンド ラインを使用して Whois コマンド クエリを呼び出すか、いくつかの Web サイトを呼び出して関連情報をクエリすることですが、次の 2 つの点に注意する必要があります。

  1. まずドメイン名が存在するかどうかを確認します
  2. 次に、このドメイン名の Whois 情報を確認します。

IP アドレスの場所と Whois 情報を取得する簡単なスクリプトの例を次に示します。

リクエスト ライブラリがインストールされていることを確認してください。これは、次のコマンドを使用してインストールできます。

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)

スクリプトを実行するときに、クエリする IP アドレスを入力すると、スクリプトは IP の詳細と Whois 情報を返します。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_64973687/article/details/135584170