python 实现的IP 存活扫描脚本
【摘要】 下载地址ActiveOrNot用于处理 oneforall 等子域名扫描工具的结果去重 + 主机存活扫描参数1234 -f --file 指定存放ip或子域名的文件,默认 ip.txt-t --thread 设置线程数,默认 50 python3 ActiveOrNot.py -f ip.txt -t 12具体代码 ActiveOrNot.py1234567891011121314151...
下载地址
用于处理 oneforall 等子域名扫描工具的结果去重 + 主机存活扫描
参数
1
2
3
4
|
-f -- file 指定存放ip或子域名的文件,默认 ip.txt
-t --thread 设置线程数,默认 50
python3 ActiveOrNot.py -f ip.txt -t 12
|
具体代码 ActiveOrNot.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
|
from threading import Thread
from queue import Queue
import requests
from time import time
import argparse
headers = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
}
def ping(url, new_ip):
url = url.strip()
try :
req = requests.get(url, headers = headers, timeout = 2 )
new_ip.put(url + ' -- ' + str (req.status_code))
print ( "%s 存活" % url)
except :
print ( "%s 不存活" % url)
def new_list( file ):
with open ( file , 'r' ) as f:
new_ip = []
ip_list = f.readlines()
for ip in ip_list:
if ip:
if not (ip in new_ip):
new_ip.append(ip)
return new_ip
def main( file , th):
begin_time = time()
new_ip = Queue()
ip_list = new_list( file )
j = 0
length = len (ip_list)
while j < length:
threads = []
for i in range (th):
t = Thread(target = ping, args = (ip_list[j], new_ip))
t.start()
threads.append(t)
j + = 1
if j = = length:
break
for thread in threads:
thread.join()
with open ( 'NewIP.txt' , 'a+' ) as nf:
while not new_ip.empty():
nf.write(new_ip.get() + '\n' )
end_time = time()
run_time = end_time - begin_time
print ( "总共耗时 %s 秒" % run_time)
if __name__ = = '__main__' :
parser = argparse.ArgumentParser(description = 'url active scan' )
parser.add_argument( "-f" , "--file" , help = "指定文件" , default = 'ip.txt' )
parser.add_argument( "-t" , "--thread" , help = "设置线程" , default = 50 )
args = parser.parse_args()
file = args. file
th = args.thread
main( file , th)
|
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)