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中字符编码简介、方法及使用建议
Jan 08 Python
python中list常用操作实例详解
Jun 03 Python
python检查序列seq是否含有aset中项的方法
Jun 30 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
Pycharm更换python解释器的方法
Oct 29 Python
django celery redis使用具体实践
Apr 08 Python
pandas dataframe的合并实现(append, merge, concat)
Jun 24 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
Python docutils文档编译过程方法解析
Jun 23 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
python 利用toapi库自动生成api
Oct 19 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中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
python mysqldb连接数据库
2009/03/16 Python
python动态监控日志内容的示例
2014/02/16 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python命令行参数用法实例分析
2019/06/25 Python
HTML的form表单和django的form表单
2019/07/25 Python
python实现统计代码行数的小工具
2019/09/19 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
师范生自荐信范文
2013/10/06 职场文书
手机业务员岗位职责
2013/12/13 职场文书
陈欧的广告词
2014/03/18 职场文书
先进班集体申报材料
2014/12/26 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS