python 实现的IP 存活扫描脚本


Posted in Python onDecember 10, 2020

下载地址

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 实现的IP 存活扫描脚本的详细内容,更多关于python ip存活扫描的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python字符串格式化输出方法分析
Apr 13 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
python使用webdriver爬取微信公众号
Aug 31 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
python 字典操作提取key,value的方法
Jun 26 Python
python里dict变成list实例方法
Jun 26 Python
Python zip函数打包元素实例解析
Dec 11 Python
基于python实现把json数据转换成Excel表格
May 07 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 Python
基于Python实现粒子滤波效果
Dec 01 Python
python模板入门教程之flask Jinja
Apr 11 Python
class类在python中获取金融数据的实例方法
Dec 10 #Python
Python制作简单的剪刀石头布游戏
Dec 10 #Python
python给list排序的简单方法
Dec 10 #Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 #Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 #Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 #Python
python 实现ping测试延迟的两种方法
Dec 10 #Python
You might like
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
javascript引导程序
2008/10/26 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
python科学计算之scipy——optimize用法
2019/11/25 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
酒店管理毕业生自我鉴定
2014/03/02 职场文书
年终总结会议主持词
2014/03/17 职场文书
土建施工员岗位职责
2014/07/16 职场文书
学校周年庆活动方案
2014/08/22 职场文书
销售代理协议书
2014/09/30 职场文书
导游词之凤凰古城
2019/10/22 职场文书
python办公自动化之excel的操作
2021/05/23 Python
mysql主从复制的实现步骤
2021/10/24 MySQL