网络安全--python编写自动化目录扫描脚本

本文主要介绍使用python编写目录扫描脚本
老规矩,先贴代码再解释:

import sys
import requests
from fake_useragent import UserAgent
from optparse import OptionParser
from threading import Thread


# 扫描类
class webDirScan(Thread):
    def __init__(self, options):
        Thread.__init__(self)
        self.url = options.url
        self.file = options.file

    def run(self):

        headers = {
            "UserAgent": UserAgent().random
        }
        with open("dir.txt", 'r') as f:
            for line in f.readlines():
                line = line.strip()
                response = requests.get(options.url+line, options.file)
                if response.status_code == 200:
                    print(options.url+line + " ...exist")
                else:
                    print(options.url+line + " ...non_exist")


if __name__ == '__main__':
    optParse = OptionParser('python WebDirScanner.py -u <Target URL> -f <Dictionary file name> [-t <Thread_count>]')
    optParse.add_option('-u', '--url', dest='url', type='string', help='target url for scan')
    optParse.add_option('-f', '--file', dest='file', type='string', help='dictionary filename')
    # optParse.add_option('-t', '--thread', dest='count', type='int', default=10, help='scan thread count')
    (options, args) = optParse.parse_args()
    
    if options.url and options.file:
        # 创建一个扫描类的线程
        dirscan = webDirScan(options)
        dirscan.start()
    else:
        optParse.print_help()
        sys.exit()

本文中使用了一个我刚学的模块,
optionparser模块
optionparser的执行过程:
1.导入optionparser:from optparse import OptionParser
2.构造optionparser的对象:parser = Option Parser()
往optionparser对象中增加option:parser.add_option(…),添加的内容是命令函参数,及相关的帮助信息。

optparse能够用于处理命令行参数,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。

本来也编写了多线程的处理方式,但是处理结果不太理想,且未能在相应的地方成功添加进度条信息,所以就没能在这里放出这些代码。
下面让我们来看一下扫描的效果:
在这里插入图片描述
可见,基本的扫描功能还是能够完成的。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值