python批量扫描url(异步多线程处理),探测是否有网站部署

代码

注释写的很小白了,看代码

# 编写者:富贵满堂喜盈门
# 目的:进行python脚本编写
# 开发时间:2023/2/16 12:55
# 此项目目的:针对某特定端口或范围IP进行扫描并确定是否部署网站



import asyncio # 异步多线程处理
import os      # 当前操作系统,主要用来辨识路径用的
import aiohttp # 异步处理http链接问题
import warnings # 用来处理警告
import IPy # 拆分地址块成IP地址,这个包处理ip地址的

warnings.filterwarnings("ignore") # 警告信息忽略

# print(os.getcwd())  # 获取工作目录
if os.path.exists('./scan_result') == 0: # 创建文件夹 ./代表的是你当前项目的工作路径,文件夹和你的。py文件同一个文件夹
    os.makedirs('./scan_result')

def get_IP(ip_address_block): # 处理IP地址块
    filename = './scan_result/NoScanIP.txt'
    filename_NoScanIP = open(filename, mode="a") # 打开文件并追加
    ip = IPy.IP(ip_address_block)    # 自动处理成ip
    for i in ip:
        filename_NoScanIP.write(str(i)+'\n') # 将ip写入文件

async def scan_ip(ip):
    filename = './scan_result/Life_IP.txt' # 没有自动创建
    filename_LifeIP = open(filename, mode="a")  # 打开文件并追加
    url="http://"+ip #这个地方来确定你扫描的url,看个人修改
    print(url) #
    try:
        async with  aiohttp.ClientSession() as session: # 异步链接
            async with await session.get(url,timeout=2) as resp:      # 回应报文,await触发,进行下一个函数操作
                if  len(resp.text) > 8000: # 根据自己想要的条件过滤网页,我是看这个地方部署的有没有网站,有网站且长度大于8000就进行下去
                    filename_LifeIP.write(str(ip)+'\n') #把ip保存下来
                    return ip
    except Exception as e:
        return ip



if __name__ == '__main__': # 防止引用代码出现错误
    # ip地址处理
    with open(r"C:/Users/1/Desktop/Test/ChineseIP - 1.txt", mode='r') as ip_address_block_line: # 这个‘r’是为了确定绝对路径被正确读取
        for line in ip_address_block_line:
            get_IP(line)
    # 筛选符合条件ip
    with open("./scan_result/NoScanIP.txt",mode='r') as ip_address:
        for line in ip_address:
            asyncio.run(scan_ip(line))

总结

有用点个赞,再会!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值