IP 存活扫描脚本
-
Github
ActiveOrNot -
用于处理 oneforall 等子域名扫描工具的结果去重 + 主机存活扫描
-
参数
-f --file 指定存放ip或子域名的文件,默认 ip.txt
-t --thread 设置线程数,默认 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="设置线程", default=50)
args = parser.parse_args()
file = args.file
th = args.thread
main(file, th)
分类:
Python
, WEB安全知识学习笔记
标签:
脚本
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!