2018-11-06 15:56:44 +08:00
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
from urllib.parse import urlparse
|
|
|
|
|
|
import socket
|
|
|
|
|
|
import requests
|
2019-04-27 16:34:42 +08:00
|
|
|
|
import urllib3
|
|
|
|
|
|
from bs4 import BeautifulSoup
|
|
|
|
|
|
|
2018-11-06 15:56:44 +08:00
|
|
|
|
|
|
|
|
|
|
def attack(URL):
|
2019-04-27 16:34:42 +08:00
|
|
|
|
# 百度查询模块
|
2018-11-06 15:56:44 +08:00
|
|
|
|
url = URL
|
|
|
|
|
|
URL = urlparse(URL).netloc
|
|
|
|
|
|
if URL == '':
|
|
|
|
|
|
URL = url
|
|
|
|
|
|
else:
|
|
|
|
|
|
pass
|
|
|
|
|
|
try:
|
|
|
|
|
|
ip = URL
|
|
|
|
|
|
payload = {'query': ip, 'resource_id': '6006'}
|
|
|
|
|
|
r = requests.get("https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php", params=payload)
|
|
|
|
|
|
|
2019-04-27 16:34:42 +08:00
|
|
|
|
print('百度结果:',r.json().get('data')[0].get('location'))
|
|
|
|
|
|
except Exception:
|
2018-11-06 15:56:44 +08:00
|
|
|
|
try:
|
|
|
|
|
|
ip = socket.gethostbyname(URL)
|
|
|
|
|
|
print('IP查询目标:' + ip)
|
|
|
|
|
|
payload = {'query': ip, 'resource_id': '6006'}
|
|
|
|
|
|
r = requests.get("https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php", params=payload)
|
2019-04-27 16:34:42 +08:00
|
|
|
|
print('百度结果:',r.json().get('data')[0].get('location'))
|
|
|
|
|
|
except Exception:
|
2018-11-06 15:56:44 +08:00
|
|
|
|
print('获取IP地址错误:'+URL)
|
|
|
|
|
|
|
2019-04-27 16:34:42 +08:00
|
|
|
|
# IPIP查询模块
|
|
|
|
|
|
print('IPIP结果:')
|
|
|
|
|
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
|
|
|
|
url = 'https://www.ipip.net/ip.html'
|
|
|
|
|
|
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.9 Safari/537.36'}
|
|
|
|
|
|
data = {'ip': URL}
|
|
|
|
|
|
re = requests.post(url,headers=headers,data=data,verify=False,timeout=5)
|
|
|
|
|
|
soup=BeautifulSoup(re.content,"lxml")
|
|
|
|
|
|
|
|
|
|
|
|
def information_one(table):
|
|
|
|
|
|
length = len(table.find_all('td'))
|
|
|
|
|
|
data2 = table.find_all('td')[2].get_text().strip()
|
|
|
|
|
|
information2 = table.find_all('span')[3].get_text().strip()
|
|
|
|
|
|
print(data2, ':', information2)
|
|
|
|
|
|
m = 5
|
|
|
|
|
|
x = 4
|
|
|
|
|
|
while x < length:
|
|
|
|
|
|
data = table.find_all('td')[x].get_text().strip()
|
|
|
|
|
|
information = table.find_all('span')[m].get_text().strip()
|
|
|
|
|
|
print(data, ':', information)
|
|
|
|
|
|
x = x + 2
|
|
|
|
|
|
m = m + 1
|
|
|
|
|
|
|
|
|
|
|
|
def information_two(table):
|
|
|
|
|
|
data = table.find_all('td')[0].get_text().strip()
|
|
|
|
|
|
information = table.find_all('span')[1].get_text().strip()
|
|
|
|
|
|
if '威胁情报' in data:
|
|
|
|
|
|
print(data, ':', information)
|
|
|
|
|
|
else:
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
def information_three(table):
|
|
|
|
|
|
data1 = table.find_all('th')[0].get_text().strip()
|
|
|
|
|
|
information1 = table.find_all('td')[0].get_text().strip()
|
|
|
|
|
|
data2 = table.find_all('th')[1].get_text().strip()
|
|
|
|
|
|
information2 = table.find_all('td')[1].get_text().strip()
|
|
|
|
|
|
data3 = table.find_all('th')[2].get_text().strip()
|
|
|
|
|
|
information3 = table.find_all('td')[2].get_text().strip()
|
|
|
|
|
|
if '纯真IP库数据' in data2:
|
|
|
|
|
|
print(data1, ':', information1)
|
|
|
|
|
|
print(data2, ':', information2)
|
|
|
|
|
|
print(data3, ':', information3)
|
|
|
|
|
|
else:
|
|
|
|
|
|
pass
|
|
|
|
|
|
for x in range(0, 7):
|
|
|
|
|
|
try:
|
|
|
|
|
|
table = soup.find_all('div')[6].find_all('table')[x]
|
|
|
|
|
|
except Exception:
|
|
|
|
|
|
pass
|
|
|
|
|
|
try:
|
|
|
|
|
|
information_one(table)
|
|
|
|
|
|
except Exception:
|
|
|
|
|
|
pass
|
|
|
|
|
|
try:
|
|
|
|
|
|
information_two(table)
|
|
|
|
|
|
except Exception:
|
|
|
|
|
|
pass
|
|
|
|
|
|
try:
|
|
|
|
|
|
information_three(table)
|
|
|
|
|
|
except Exception:
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
2018-11-06 15:56:44 +08:00
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
attack()
|