python实例:简单的网站目录扫描器

发布时间:2020-10-11编辑:脚本学堂
分享一个python实例代码,实现一个简单的网站目录扫描器,对python网络编程有兴趣的朋友,一起研究下吧。

python实现一个简单的网站目录扫描器。
代码:
 

复制代码 代码示例:

#!/usr/local/bin/python
# Edit: www.jb200.com
#
#-*- coding: UTF-8 -*-
import sys, os, time, httplib
import re
list_http=[]  #http数组

def open_httptxt():  #打开TXT文本写入数组
    try:
        passlist = []
        list_passlist=[]
        xxx = file('http.txt', 'r')
        for xxx_line in xxx.readlines():
            #past.append(xxx_line)
            passlist.append(xxx_line)
        xxx.close()

        for i in passlist:  #python 列表去重
            if i not in list_passlist:
                list_passlist.append(i)

        E = 0 #得到list的第一个元素
        while E < len(list_passlist):
            #print list_passlist[E]
            past.append(list_passlist[E])  #添加到数组里
            E = E + 1
    except:
        return 0

def pst_http(host):   #获取是否开放  #pst_http("127.0.0.1")
    try:
        for admin in past:
            admin = admin.replace("n","")
            connection = httplib.HTTPConnection(host,80,timeout=10)
            connection.request("GET",admin)
            response = connection.getresponse()
            #print "%s %s %s" % (admin, response.status, response.reason)
            #/admin-login.php   ,错误404  ,Not Found   /moderator/ 404 File Not Found
            data=response.reason
            if "OK" in data or "Forbidden" in data:
                SQLdata="http://"+host+admin+"---%s %s"%(response.status, response.reason)
                print SQLdata
            else:
                print "http://"+host+admin+"----"+data
            connection.close()
        return 1
    except:
        pass
        return 0

if __name__=='__main__':
    print u"=============2.0  python写的web路径扫描工具============="
    global  past  #声明全局变量
    past = []
    open_httptxt()  #打开TXT文本写入数组
    pst_http(www.jb200.com)