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自动连接ssh的方法
Mar 07 Python
python中requests小技巧
May 10 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
python3调用R的示例代码
Feb 23 Python
Python应用库大全总结
May 30 Python
Python装饰器用法实例分析
Jan 14 Python
Django框架视图介绍与使用详解
Jul 18 Python
python 等差数列末项计算方式
May 03 Python
基于python实现复制文件并重命名
Sep 16 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
python 实现aes256加密
Nov 27 Python
python游戏开发Pygame框架
Apr 22 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
Python @property原理解析和用法实例
2020/02/11 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
django正续或者倒序查库实例
2020/05/19 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
雪山饭庄的创业计划书范文
2014/01/18 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
实践论读书笔记
2015/06/29 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python