Python 무기 개발 - 무기 장 Whois 정보 수집 모듈화(45)

Python 무기 개발 - 무기 장 Whois 정보 수집 모듈화(45)

침투할 때 포괄적인 정보 수집을 수행해야 합니다. 능동적인 정보 수집 외에도 수동적인 정보 수집도 수행하는 경우가 많습니다. Whois 정보 수집도 그중 하나입니다. 도메인 이름 Whois 와 같은 일부 웹 사이트를 사용하여 Whois 정보를 수집할 수 있습니다. 쿼리 - Webmaster's Home 예를 들어 아래 그림에 표시된 것처럼 우리는 이 웹사이트를 사용하여 그림에 표시된 대로 qq.com에 대한 일부 관련 도메인 이름 정보를 쿼리합니다.

여기에 이미지 설명을 삽입하세요.

그렇다면 이 함수를 개발하기 위해 Python을 어떻게 사용합니까? , Whois 정보 수집의 원칙은 명령줄을 사용하여 whois 명령 쿼리를 호출하거나 일부 웹 사이트를 호출하여 관련 정보를 쿼리하는 것입니다. 우리는 두 가지 사항에 주의해야 합니다.

  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