改脚本之dbscaner

默认的DBscaner只是用了ipy模块支持一个段的解析,但是我想让他加载脚本进行检测

所以,直接看

def __init__(self, target, thread):
        self.target = target
        self.thread = thread
        self.ips    = []
        self.ports  = []
        self.time   = time.time()
        self.get_ip()
        self.get_port()
        self.check = check()
    
    def get_ip(self):
        #获取待扫描地址段
        for ip in IPy.IP(self.target):
            self.ips.append(str(ip))

这里用ips数组存储了ip,那么改掉这里,直接for循环我们的传进来的target

 

    def get_ip(self):
        # 获取待扫描地址段
        for ip in self.target:
            self.ips.append(str(ip))

 

 

那么,我们传入的时候,工具是用 argparse模块解析参数,但是我们是想要扫一个ip文件,所以,改掉

def main():
    banner()
    parser = argparse.ArgumentParser(description='Example: python {} 192.168.1.0/24'.format(sys.argv[0]))
    parser.add_argument('target', help=u'192.168.1.0/24')
    parser.add_argument('-t', type=int, default=50, dest='thread', help=u'线程数(默认50)')
    args   = parser.parse_args()
    myscan = DBScanner(args.target, args.thread)
    myscan.run()

加一个函数

def read_file():
    targets = []
    with open('1.txt', 'r') as f:
        ips = f.readlines()
        for ip in ips:
            target = ip.strip('\n')
            if target not in targets:
                targets.append(target)
    return targets
def main():
    banner()
    target = read_file()
    thread = 50
    myscan = DBScanner(target, thread)
    myscan.run()

 

这里用读文件的方式,遍历后,

去重空格

target = ip.strip('\n')

去重

if target not in targets:
   targets.append(target)

 

然后,自定义线程吧,无所谓

thread = 50

 

ok,就可以开始跑了

 

转载于:https://www.cnblogs.com/xm17/p/9782052.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值