python 實(shí)現(xiàn)的IP 存活掃描腳本
更新時間:2020年12月10日 15:47:17 作者:1ndex
這篇文章主要介紹了python 實(shí)現(xiàn)的IP 存活掃描腳本,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
下載地址
用于處理 oneforall 等子域名掃描工具的結(jié)果去重 + 主機(jī)存活掃描
參數(shù)
-f --file 指定存放ip或子域名的文件,默認(rèn) ip.txt -t --thread 設(shè)置線程數(shù),默認(rèn) 50 python3 ActiveOrNot.py -f ip.txt -t 12
具體代碼 ActiveOrNot.py
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()
if (not url.startswith('http://')) and (not url.startswith('https://')):
url = 'http://' + url
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:
ip = ip.strip().replace('http://', '').replace('https://', '')
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="設(shè)置線程", default=50)
args = parser.parse_args()
file = args.file
th = args.thread
main(file, th)
以上就是python 實(shí)現(xiàn)的IP 存活掃描腳本的詳細(xì)內(nèi)容,更多關(guān)于python ip存活掃描的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python可視化工具如何實(shí)現(xiàn)動態(tài)圖表
這篇文章主要介紹了Python可視化工具如何實(shí)現(xiàn)動態(tài)圖表,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
使用 Python 合并多個格式一致的 Excel 文件(推薦)
這篇文章主要介紹了使用 Python 合并多個格式一致的 Excel 文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
解決pycharm每次新建項目都要重新安裝一些第三方庫的問題
今天小編就為大家分享一篇解決pycharm每次新建項目都要重新安裝一些第三方庫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python使用Matplotlib實(shí)現(xiàn)創(chuàng)建動態(tài)圖形
動態(tài)圖形是使可視化更具吸引力和用戶吸引力的好方法,它幫助我們以有意義的方式展示數(shù)據(jù)可視化,本文將利用Matplotlib實(shí)現(xiàn)繪制一些常用動態(tài)圖形,希望對大家有所幫助2024-02-02

