玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python爬虫 > 正文内容

黑客工具_Python多线程爬虫抓取扫描器

Python多线程爬虫扫描器
  1. Python多线程扫描器简介
  2. 黑客多线程扫描器的功能
  3. 测试多线程爬虫环境搭建
  4. 黑客工具实战代码案例剖析
  5. 本文相关资源下载

一、Python多线程扫描器介绍

对于小白来说,玩蛇网在这里介绍的扫描器,并非是条码扫描器;
其实多线程扫描器是python 爬虫中的一种,可以自动检测远程服务器、Web站点等安全漏洞、弱口令、扫描IP、文件、端口、目录的Python程序,它能够快速的准确的发现扫描目标所存在的漏洞,为渗透入侵安全检测等打下了铺垫。

Python爬虫多线程扫描器图片
python 多线程爬虫相关的知识也是Python黑客学习渗透技术必须所掌握的。

例如这个Python Hacker 工具,简单来说有如下作用

    1. 站点漏洞、木马、危险程序的扫描
    2. 扫描对比文件差异、监控网站文件
    3. 检测网页状态码 (200、403、404、500==)
    4. 检测网站是否SEO作弊 [针对用户和搜索引擎返回不一样的结果]
    5. 网站压力测试 iis连接数等 虚拟主机空间 连接数 150个
    6. 模拟搜索引擎蜘蛛抓取 US User-Agent 用户代理
    7. 网站程序以及版本确认,网站后台扫描
    8. 扫描端口等等 玩蛇网www.iplaypy.com

二、黑客多线程扫描器的功能

本次玩蛇网Python之家图文教程和视频教程中,需要实现的Python扫描器的简单功能有:

    1. 多线程扫描(加快速度)
    2. 模拟搜索引擎爬虫(User-Agent)
    3. 使用代理服务器(大量代理IP切换抓取)
    4. 扫描状态码、文件目录等返回
    5. 过滤不需要的文件或目录等
    6. 可以手动更改匹配扫描的字典
    7. 可以做成带图形化界面的黑客工具,
如下图所示:(本节教程为终端版,以后会推出相应的GUI版)

多线程端口目录扫描器GUI界面

三、测试多线程爬虫环境搭建

    1. Linux\Mac OS X\Windows均可
    2. 编辑器IDE、Python2.X/Python3.x
    3. 本地搭建测试用开源Web程序或Blog程序 (玩蛇网教程环境: apache2 + php5 + wordpress)
    4. 抓取匹配的列表字典、目录或漏洞文件字典(wordpress , zblog, dedecms等)
    5. 确保本地网络与被扫描服务器之间是连通、稳定的
    6. 注:建议在本地搭建测试环境,切勿扫描网络上面其它网站、服务器,此为非法行为!

     声明:本视频教程仅为Python学习、测试使用,请勿用于非法途径和行为,
     一切后果自负与玩蛇网与斯巴达本人无关!

四、黑客工具实战代码案例剖析

# -*- coding:utf-8 -*-
__author__="iplaypython.com" 

import os
import urllib2
import threading
import Queue
import time
import random

q = Queue.Queue() # Queue产生一个队列,有3种类型队列 默认用 FIFO队列
threading_num = 5 # 开启5个线程

# 扫描本地IP或域名
domain_name = "http://127.0.0.1"
# 百度蜘蛛UA
Baidu_spider = "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
# 不需要的文件过滤列表
exclude_list = ['.jpg', '.gif', '.css', '.png', '.js', '.scss'] 

proxy_list = [ # 代理服务器,可能已经失效,换为自己的
    {'http': '117.28.254.130:8080'},
    {'http': '118.144.177.254:3128'},
    {'http': '113.118.211.152:9797'},
]

# 打开字典文件,开始过滤不需要的文件路径
with open("/home/leo/app_txt/wordpress.txt" , "r") as lines:
    for line in lines:
        line = line.rstrip()
        if os.path.splitext(line)[1] not in exclude_list:
            q.put(line) #将line传入到队列 q 中

# 扫描器方法
def crawler():
    while not q.empty(): # 循环
        path = q.get() 将line从队列 q 中取出来

        url = "%s%s" % (domain_name, path) # 组合url地址,用于下一步提交

        random_proxy = random.choice(proxy_list) # 随机使用一个代理服务器
        proxy_support = urllib2.ProxyHandler(random_proxy)
        opener = urllib2.build_opener(proxy_support)
        urllib2.install_opener(opener)

        headers = {} 
        headers['User-Agent'] = Baidu_spider # 蜘蛛的头部信息
        # 玩蛇网 www.iplaypy.com

        request = urllib2.Request(url, headers=headers) 

        try:
            response = urllib2.urlopen(request)
            content = response.read()

            if len(content): # 内容不为空的情况下返回状态码、路径
                print "Status [%s]  - path: %s" % (response.code, path)

            response.close()
            time.sleep(1) # 休息一会儿,防止速度过快连接数过大被封掉IP
        except urllib2.HTTPError as e:
            # print e.code, path
            pass # 异常处理,先暂时pass掉

if __name__ == '__main__':
    # 创建多线程并指明函数的入口为crawler,以后还可以传参进去
    for i in range(threading_num): 
        t = threading.Thread(target=crawler)
        t.start()

    # 上面代码,我们一共导入了6个模块都是接下来需要使用的功能模块,
    # os作用是对我们不需要扫描的后缀名文件进行筛选,     
    # urllib2负责抓取,而threading就是我们的Python多线程模块,     
    # 这次还需要用到Queue这个保证线程安全的队列模块,     
    # 其它两个比较简单,一个是随机模块random,另一个时间模块time

五、本文相关资源下载

扫描器下载
黑客工具_Python多线程爬虫抓取扫描器 Python全部源码下载:
本地高速下载:crawler-scanner.rar
源码大小:1.6KB

Python多线程爬虫抓取扫描器


此为Pyhton多线程扫描器视频课程的内容页面,稍后更新,
提供课程相关资源和Python源码的下载,和详细使用图文教程。

黑客工具、黑客客扫描器、端口扫描、免费网页网站扫描器

百度网盘下载地址:


由于视频教程时长有50分钟左右,所以视频分为两节发送。

Python多线程爬虫抓取扫描器——上节
http://pan.baidu.com/s/1dEzSAhr

Python多线程爬虫抓取扫描器——下节
http://pan.baidu.com/s/1i3TqyIL

有任何疑问和建议都可以在评论区留言,探讨。

[ 视频播放密码 ]QQqun20419428

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/crawler/multithreading-crawler-scanner.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2016年12月27日 - 17时37分55秒 发布自玩蛇网

我要分享到:
尚未注册畅言帐号,请到后台注册

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules