-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheck_cdn.py
More file actions
150 lines (143 loc) · 12.6 KB
/
check_cdn.py
File metadata and controls
150 lines (143 loc) · 12.6 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# coding=utf-8
# from https://raw.githubusercontent.com/al0ne/Vxscan/master/lib/iscdn.py
import queue
import ipaddress
# 通过查询pdns,然后排除国内外常见的cdn段,如果出现极有可能是真实ip
cdns = [
'1.255.100.0/24', '1.255.41.0/24', '1.31.128.0/24', '1.32.238.0/24', '1.32.239.0/24', '1.32.240.0/24',
'1.32.241.0/24', '1.32.242.0/24', '1.32.243.0/24', '1.32.244.0/24', '101.203.192.0/18', '101.226.4.0/24',
'101.227.163.0/24', '101.227.206.0/24', '101.227.207.0/24', '101.71.55.0/24', '101.71.56.0/24',
'101.79.144.0/24', '101.79.145.0/24', '101.79.146.0/24', '101.79.148.0/24', '101.79.149.0/24',
'101.79.150.0/24', '101.79.152.0/24', '101.79.155.0/24', '101.79.156.0/24', '101.79.157.0/24',
'101.79.158.0/24', '101.79.159.0/24', '101.79.163.0/24', '101.79.164.0/24', '101.79.165.0/24',
'101.79.166.0/24', '101.79.167.0/24', '101.79.208.0/20', '101.79.208.0/21', '101.79.224.0/20',
'101.79.224.0/24', '101.79.225.0/24', '101.79.226.0/24', '101.79.227.0/24', '101.79.228.0/24',
'101.79.229.0/24', '101.79.230.0/24', '101.79.231.0/24', '101.79.232.0/24', '101.79.233.0/24',
'101.79.234.0/24', '101.79.235.0/24', '101.79.236.0/24', '101.79.237.0/24', '101.79.239.0/24', '103.1.65.0/24',
'103.14.10.0/24', '103.140.200.0/23', '103.15.194.0/24', '103.199.228.0/22', '103.21.244.0/22',
'103.216.136.0/22', '103.22.200.0/22', '103.231.170.0/24', '103.24.120.0/24', '103.248.104.0/22',
'103.248.104.0/24', '103.248.105.0/24', '103.248.106.0/24', '103.248.107.0/24', '103.253.132.0/24',
'103.27.12.0/22', '103.28.248.0/22', '103.31.4.0/22', '103.4.200.0/22', '103.4.200.0/24', '103.4.201.0/24',
'103.4.202.0/24', '103.4.203.0/24', '103.40.7.0/24', '103.74.80.0/22', '103.75.200.0/23', '103.75.200.0/24',
'103.75.201.0/24', '103.79.132.0/22', '103.79.133.0/24', '103.79.134.0/23', '103.79.134.0/24',
'103.82.129.0/24', '103.82.130.0/24', '103.89.176.0/24', '103.95.132.0/24', '104.16.0.0/12', '104.37.112.0/22',
'104.37.176.0/21', '104.37.176.0/24', '104.37.177.0/24', '104.37.178.0/24', '104.37.179.0/24',
'104.37.180.0/24', '104.37.182.0/24', '104.37.183.0/24', '106.119.182.0/24', '106.122.248.0/24',
'106.42.25.0/24', '108.162.192.0/18', '108.175.32.0/20', '108.175.33.0/24', '109.199.57.0/24',
'109.199.58.0/24', '109.86.0.0/15', '109.87.0.0/21', '109.94.168.0/24', '109.94.169.0/24', '110.93.128.0/20',
'110.93.128.0/21', '110.93.160.0/19', '110.93.160.0/20', '110.93.176.0/20', '110.93.176.0/21',
'111.13.147.0/24', '111.161.109.0/24', '111.161.66.0/24', '111.177.3.0/24', '111.177.6.0/24', '111.202.98.0/24',
'111.32.135.0/24', '111.32.136.0/24', '111.47.226.0/24', '111.47.227.0/24', '111.6.191.0/24', '111.63.51.0/24',
'112.137.184.0/21', '112.140.128.0/20', '112.140.32.0/19', '112.25.16.0/24', '112.25.60.0/24', '112.25.90.0/24',
'112.25.91.0/24', '112.253.3.0/24', '112.65.73.0/24', '112.65.74.0/24', '112.65.75.0/24', '112.84.34.0/24',
'112.90.216.0/24', '113.107.238.0/24', '113.17.174.0/24', '113.20.144.0/21', '113.20.144.0/22',
'113.20.144.0/23', '113.20.144.0/24', '113.20.145.0/24', '113.20.146.0/23', '113.20.146.0/24',
'113.20.147.0/24', '113.20.148.0/22', '113.20.148.0/23', '113.20.148.0/24', '113.20.149.0/24',
'113.20.150.0/23', '113.20.150.0/24', '113.20.151.0/24', '113.200.91.0/24', '113.202.0.0/16',
'113.207.100.0/24', '113.207.101.0/24', '113.207.102.0/24', '113.207.76.0/24', '113.31.27.0/24',
'113.7.183.0/24', '114.111.48.0/20', '114.111.48.0/21', '114.111.59.0/24', '114.111.60.0/24', '114.111.62.0/24',
'114.111.63.0/24', '114.31.32.0/19', '114.31.32.0/20', '114.31.36.0/22', '114.31.48.0/20', '114.31.52.0/22',
'114.31.56.0/22', '114.31.58.0/23', '115.127.224.0/19', '115.127.224.0/24', '115.127.225.0/24',
'115.127.226.0/24', '115.127.227.0/24', '115.127.228.0/24', '115.127.229.0/24', '115.127.230.0/24',
'115.127.231.0/24', '115.127.232.0/24', '115.127.233.0/24', '115.127.234.0/24', '115.127.235.0/24',
'115.127.236.0/24', '115.127.237.0/24', '115.127.238.0/24', '115.127.239.0/24', '115.127.240.0/22',
'115.127.240.0/24', '115.127.241.0/24', '115.127.242.0/24', '115.127.243.0/24', '115.127.244.0/23',
'115.127.244.0/24', '115.127.245.0/24', '115.127.246.0/24', '115.127.247.0/24', '115.127.248.0/24',
'115.127.249.0/24', '115.127.250.0/24', '115.127.251.0/24', '115.127.252.0/24', '115.127.253.0/24',
'115.127.254.0/24', '115.127.255.0/24', '115.231.110.0/24', '115.231.186.0/24', '115.231.187.0/24',
'116.128.128.0/24', '116.140.35.0/24', '116.193.80.0/21', '116.193.80.0/24', '116.193.83.0/24',
'116.193.84.0/24', '116.193.88.0/21', '116.211.121.0/24', '116.211.155.0/24', '116.31.126.0/24',
'116.31.127.0/24', '116.55.250.0/24', '117.148.160.0/24', '117.148.161.0/24', '117.21.219.0/24',
'117.23.61.0/24', '117.25.156.0/24', '117.27.149.0/24', '117.34.13.0/24', '117.34.14.0/24', '117.34.28.0/24',
'117.34.72.0/24', '117.34.91.0/24', '118.107.160.0/20', '118.107.160.0/21', '118.107.174.0/24',
'118.107.175.0/24', '118.180.50.0/24', '118.212.233.0/24', '119.147.134.0/24', '119.161.224.0/21',
'119.167.147.0/24', '119.167.246.0/24', '119.188.132.0/24', '119.188.14.0/24', '119.188.35.0/24',
'119.188.9.0/24', '119.188.97.0/24', '119.31.248.0/21', '119.31.250.0/24', '119.31.251.0/24', '119.31.252.0/24',
'119.31.253.0/24', '119.36.164.0/24', '119.84.15.0/24', '119.84.92.0/24', '119.84.93.0/24', '119.97.151.0/24',
'120.197.85.0/24', '120.199.69.0/24', '120.221.136.0/24', '120.221.29.0/24', '120.241.102.0/24',
'120.52.113.0/24', '120.52.18.0/24', '120.52.29.0/24', '121.12.98.0/24', '121.48.95.0/24', '122.143.15.0/24',
'122.190.2.0/24', '122.190.3.0/24', '122.226.182.0/24', '122.227.237.0/24', '122.228.198.0/24',
'122.228.238.0/24', '122.70.134.0/24', '123.129.220.0/24', '123.129.232.0/24', '123.133.84.0/24',
'123.150.187.0/24', '123.151.76.0/24', '123.155.158.0/24', '123.6.13.0/24', '124.193.166.0/24',
'124.202.164.0/24', '124.95.168.0/24', '124.95.188.0/24', '125.39.174.0/24', '125.39.18.0/24',
'125.39.191.0/24', '125.39.239.0/24', '125.39.32.0/24', '125.39.46.0/24', '125.39.5.0/24', '125.88.189.0/24',
'125.88.190.0/24', '13.113.203.0/24', '13.124.199.0/24', '13.210.67.128/26', '13.224.0.0/14', '13.228.69.0/24',
'13.249.0.0/16', '13.32.0.0/15', '13.35.0.0/16', '13.54.63.128/26', '13.59.250.0/26', '130.176.0.0/16',
'131.0.72.0/22', '134.19.183.0/24', '134.226.0.0/16', '14.0.102.0/24', '14.0.109.0/24', '14.0.112.0/24',
'14.0.113.0/24', '14.0.114.0/24', '14.0.115.0/24', '14.0.116.0/24', '14.0.117.0/24', '14.0.118.0/24',
'14.0.32.0/19', '14.0.32.0/21', '14.0.40.0/24', '14.0.41.0/24', '14.0.42.0/24', '14.0.43.0/24', '14.0.44.0/24',
'14.0.45.0/24', '14.0.46.0/24', '14.0.47.0/24', '14.0.48.0/24', '14.0.49.0/24', '14.0.50.0/24', '14.0.55.0/24',
'14.0.56.0/24', '14.0.57.0/24', '14.0.58.0/24', '14.0.59.0/24', '14.0.60.0/24', '14.136.130.0/24',
'14.17.69.0/24', '14.17.71.0/24', '140.207.120.0/24', '141.101.64.0/18', '143.204.0.0/16', '144.220.0.0/16',
'149.126.72.0/21', '150.138.138.0/24', '150.138.149.0/24', '150.138.150.0/24', '150.138.151.0/24',
'150.138.248.0/24', '157.255.25.0/24', '157.255.26.0/24', '162.158.0.0/15', '163.177.8.0/24', '163.53.89.0/24',
'172.64.0.0/13', '173.245.48.0/20', '176.34.28.0/24', '18.216.170.128/25', '180.153.235.0/24',
'180.163.188.0/24', '180.163.189.0/24', '180.163.22.0/24', '180.163.224.0/24', '180.96.20.0/24',
'180.97.158.0/24', '182.118.12.0/24', '182.118.38.0/24', '182.140.227.0/24', '182.23.211.0/24',
'183.110.242.0/24', '183.131.62.0/24', '183.136.133.0/24', '183.203.7.0/24', '183.214.156.0/24',
'183.222.96.0/24', '183.230.70.0/24', '183.232.29.0/24', '183.232.51.0/24', '183.232.53.0/24',
'183.250.179.0/24', '183.3.254.0/24', '183.60.136.0/24', '183.60.235.0/24', '183.61.177.0/24',
'183.61.185.0/24', '183.61.190.0/24', '183.61.236.0/24', '185.11.124.0/22', '185.254.242.0/24',
'188.114.96.0/20', '190.93.240.0/20', '192.230.64.0/18', '192.230.64.0/18', '223.99.255.0/24', '197.234.240.0/22',
'198.143.32.0/19', '198.41.128.0/17', '199.27.128.0/21', '199.83.128.0/21', '202.102.85.0/24',
'202.162.108.0/24', '202.162.109.0/24', '203.90.247.0/24', '204.246.164.0/22', '204.246.168.0/22',
'204.246.172.0/23', '204.246.174.0/23', '204.246.176.0/20', '205.251.192.0/19', '205.251.249.0/24',
'205.251.250.0/23', '205.251.252.0/23', '205.251.254.0/24', '210.209.122.0/24', '210.22.63.0/24',
'211.162.64.0/24', '216.137.32.0/19', '218.65.212.0/24', '218.98.44.0/24', '219.153.73.0/24', '219.159.84.0/24',
'220.170.185.0/24', '220.170.186.0/24', '220.181.135.0/24', '220.181.55.0/24', '221.195.34.0/24',
'221.204.14.0/24', '221.204.202.0/24', '221.238.22.0/24', '222.186.19.0/24', '222.216.190.0/24',
'222.240.184.0/24', '222.73.144.0/24', '222.88.94.0/24', '223.111.127.0/24', '223.112.198.0/24',
'223.112.227.0/24', '223.166.151.0/24', '223.94.66.0/24', '223.94.95.0/24', '223.99.255.0/24',
'27.221.124.0/24', '27.221.20.0/24', '27.221.27.0/24', '34.195.252.0/24', '34.216.51.0/25', '34.223.12.224/27',
'34.226.14.0/24', '34.232.163.208/29', '35.158.136.0/24', '35.162.63.192/26', '35.167.191.128/26',
'36.250.5.0/24', '36.27.212.0/24', '36.42.75.0/24', '36.99.18.0/24', '42.236.6.0/24', '42.236.7.0/24',
'42.236.93.0/24', '42.236.94.0/24', '42.51.25.0/24', '42.81.93.0/24', '45.64.64.0/22', '46.51.216.0/21',
'52.124.128.0/17', '52.15.127.128/26', '52.199.127.192/26', '52.212.248.0/26', '52.220.191.0/26',
'52.222.128.0/17', '52.46.0.0/18', '52.47.139.0/24', '52.52.191.128/26', '52.56.127.0/25', '52.57.254.0/24',
'52.66.194.128/26', '52.78.247.128/26', '52.82.128.0/19', '52.84.0.0/15', '54.178.75.0/24', '54.182.0.0/16',
'54.192.0.0/16', '54.230.0.0/16', '54.233.255.128/26', '54.239.128.0/18', '54.239.192.0/19', '54.240.128.0/18',
'58.20.204.0/24', '58.211.137.0/24', '58.211.2.0/24', '58.215.118.0/24', '58.216.2.0/24', '58.250.143.0/24',
'58.251.121.0/24', '58.30.212.0/24', '58.49.105.0/24', '58.58.81.0/24', '59.36.120.0/24', '59.38.112.0/24',
'59.51.81.0/24', '59.52.28.0/24', '60.12.166.0/24', '60.221.236.0/24', '61.120.154.0/24', '61.130.28.0/24',
'61.133.127.0/24', '61.136.173.0/24', '61.147.92.0/24', '61.151.163.0/24', '61.155.149.0/24', '61.155.165.0/24',
'61.155.222.0/24', '61.156.149.0/24', '61.158.240.0/24', '61.160.224.0/24', '61.163.30.0/24', '61.174.9.0/24',
'61.182.136.0/24', '61.182.137.0/24', '61.182.141.0/24', '61.213.176.0/24', '61.240.144.0/24',
'61.240.149.0/24', '61.54.46.0/24', '61.54.47.0/24', '64.252.128.0/18', '64.252.64.0/18', '69.28.58.0/24',
'70.132.0.0/18', '71.152.0.0/17', '99.84.0.0/16', '99.86.0.0/16'
]
asns = [
'10576', '10762', '11748', '12222', '131099', '132601', '132892', '13335', '133496', '133877', '134409',
'135295', '135429', '136764', '137187', '13777', '13890', '14103', '14520', '14789', '16625', '16702', '17132',
'17334', '18680', '18717', '199251', '200013', '200325', '200856', '201263', '201585', '20189', '202294',
'202623', '203075', '203139', '203898', '204248', '204286', '204545', '206227', '206734', '206848', '206986',
'207158', '208559', '209101', '209242', '20940', '209403', '21030', '21257', '21342', '21357', '21399', '21859',
'22207', '23327', '23393', '23454', '23455', '23637', '23794', '23903', '24319', '24997', '26492', '268843',
'28709', '29264', '30282', '30637', '30675', '31107', '31108', '31109', '31110', '31377', '32787', '328126',
'33905', '34164', '34850', '35204', '35993', '35994', '36183', '36408', '38107', '393234', '393560', '394536',
'395747', '397192', '39836', '40366', '4134', '43303', '43639', '44907', '45700', '46071', '46177', '47542',
'47823', '48163', '49249', '49287', '49689', '49846', '51286', '55082', '55254', '55770', '56636', '57363',
'58127', '59730', '59776', '60068', '60626', '60922', '61107', '61159', '6185', '62026', '62229', '63062',
'64232', '8868', '9053'
]
def iscdn(q_targets, q_targets_ex, q_results):
# noinspection PyBroadException
while True:
try:
target = q_targets.get(timeout=0.2)
except queue.Empty:
break
if target['asn'] in asns:
target['cdn'] = 'exist'
q_targets_ex.put(target)
#print(target)
continue
for cdn in cdns:
if ipaddress.ip_address(target['ip']) in ipaddress.ip_network(cdn):
target['cdn'] = 'exist'
q_targets_ex.put(target)
continue
#print(target)
target['cdn'] = 'may be real ip'
q_targets_ex.put(target)
if __name__ == "__main__":
print(iscdn('1.1.1.1'))