-
Notifications
You must be signed in to change notification settings - Fork 7
/
badrep_isp.py
99 lines (82 loc) · 3.65 KB
/
badrep_isp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
'''THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE
DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY,
WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.'''
# Bitcoin Cash (BCH) qpz32c4lg7x7lnk9jg6qg7s4uavdce89myax5v5nuk
# Ether (ETH) - 0x843d3DEC2A4705BD4f45F674F641cE2D0022c9FB
# Litecoin (LTC) - Lfk5y4F7KZa9oRxpazETwjQnHszEPvqPvu
# Bitcoin (BTC) - 34L8qWiQyKr8k4TnHDacfjbaSqQASbBtTd
# contact :- [email protected]
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
# NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE
# DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY,
# WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# Tip jars!
# Bitcoin Cash (BCH) qpz32c4lg7x7lnk9jg6qg7s4uavdce89myax5v5nuk
# Ether (ETH) - 0x843d3DEC2A4705BD4f45F674F641cE2D0022c9FB
# Litecoin (LTC) - Lfk5y4F7KZa9oRxpazETwjQnHszEPvqPvu
# Bitcoin (BTC) - 34L8qWiQyKr8k4TnHDacfjbaSqQASbBtTd
# Created by https://github.com/tg12
import requests
import re
from fake_useragent import UserAgent
from cymruwhois import Client
import pandas as pd
c = Client()
ua = UserAgent()
headers = {
'User-Agent': ua.random,
}
ips_to_check = []
ip_data = []
owner_lst = []
lists_to_agg = [
"https://talos-intelligence-site.s3.amazonaws.com/production/document_files/files/000/091/590/original/ip_filter.blf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIXACIED2SPMSC7GA/20200503/us-east-1/s3/aws4_request&X-Amz-Date=20200503T173407Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=10feb0d139742092e98186a296d30ada45ee9081777ab8197d0c5daf0308384b",
"http://talosintel.com/feeds/ip-filter.blf",
"https://reputation.alienvault.com/reputation.generic",
"https://www.matthewroberts.io/api/threatlist/latest",
"https://threatintel.stdominics.sa.edu.au/",
"https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt",
"https://github.com/stamparm/ipsum/blob/master/ipsum.txt?raw=true",
"https://raw.githubusercontent.com/stamparm/blackbook/master/blackbook.txt",
"https://raw.githubusercontent.com/tg12/bad_packets_blocklist/master/bad_packets_list.txt"]
for item in lists_to_agg:
try:
r = requests.get(item, timeout=10, headers=headers)
for each in list(re.findall(r'[0-9] (?:\.[0-9] ){3}', r.text)):
if each not in ips_to_check:
ips_to_check.append(each)
print("[ ]debug, adding ..." str(each))
except BaseException:
pass
ips_to_check.sort()
# print (ips_to_check)
for each in ips_to_check:
try:
tmp_lst = []
tmp_lst.append(each)
r = c.lookup(each)
print("[ ]debug, adding ..." str(r.owner))
tmp_lst.append(str(r.owner))
owner_lst.append(str(r.owner))
ip_data.append(tmp_lst)
except BaseException:
pass
ip_data.sort(key=lambda x: x[1])
# print(tabulate(ip_data))
f = open("owner_data.txt", "w")
f.write(str(ip_data))
f.close()
owner_count = pd.Series(owner_lst).value_counts().to_string()
# print(owner_count)
f = open("bad_isp_report.txt", "w")
f.write(str(owner_count))
f.close()