Python 무기 개발 - 무기 장 Whois 정보 수집 모듈화(45)
침투할 때 포괄적인 정보 수집을 수행해야 합니다. 능동적인 정보 수집 외에도 수동적인 정보 수집도 수행하는 경우가 많습니다. Whois 정보 수집도 그중 하나입니다. 도메인 이름 Whois 와 같은 일부 웹 사이트를 사용하여 Whois 정보를 수집할 수 있습니다. 쿼리 - Webmaster's Home 예를 들어 아래 그림에 표시된 것처럼 우리는 이 웹사이트를 사용하여 그림에 표시된 대로 qq.com에 대한 일부 관련 도메인 이름 정보를 쿼리합니다.
그렇다면 이 함수를 개발하기 위해 Python을 어떻게 사용합니까? , Whois 정보 수집의 원칙은 명령줄을 사용하여 whois 명령 쿼리를 호출하거나 일부 웹 사이트를 호출하여 관련 정보를 쿼리하는 것입니다. 우리는 두 가지 사항에 주의해야 합니다.
- 먼저 도메인 이름이 존재하는지 확인하십시오.
- 그런 다음 해당 도메인 이름의 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 정보를 반환합니다.