python 探测网站目录的GUI程序

pyqt4写的界面 find_ui.py

  1. #-*- coding: utf-8 -*-from PyQt4 import QtCore, QtGui  try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    def _fromUtf8(s):        return s  try:    _encoding = QtGui.QApplication.UnicodeUTF8    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError:    def _translate(context, text, disambig):        return QtGui.QApplication.translate(context, text, disambig)  class Ui_Form(object):    def setupUi(self, Form):        Form.setObjectName(_fromUtf8("Form"))        Form.resize(516, 467)        self.label = QtGui.QLabel(Form)        self.label.setGeometry(QtCore.QRect(20, 10, 54, 16))        self.label.setObjectName(_fromUtf8("label"))        self.edit_address = QtGui.QLineEdit(Form)        self.edit_address.setGeometry(QtCore.QRect(80, 10, 351, 20))        self.edit_address.setObjectName(_fromUtf8("edit_address"))        self.button_search = QtGui.QPushButton(Form)        self.button_search.setGeometry(QtCore.QRect(440, 10, 61, 23))        self.button_search.setObjectName(_fromUtf8("button_search"))        self.text_all = QtGui.QTextEdit(Form)        self.text_all.setGeometry(QtCore.QRect(20, 40, 411, 261))        self.text_all.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)        self.text_all.setObjectName(_fromUtf8("text_all"))        self.label_2 = QtGui.QLabel(Form)        self.label_2.setGeometry(QtCore.QRect(20, 320, 54, 12))        self.label_2.setObjectName(_fromUtf8("label_2"))        self.text_exist = QtGui.QTextEdit(Form)        self.text_exist.setGeometry(QtCore.QRect(20, 340, 411, 64))        self.text_exist.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)        self.text_exist.setObjectName(_fromUtf8("text_exist"))        self.label_3 = QtGui.QLabel(Form)        self.label_3.setGeometry(QtCore.QRect(380, 310, 91, 20))        self.label_3.setText(_fromUtf8(""))        self.label_3.setObjectName(_fromUtf8("label_3"))        self.edit_add = QtGui.QLineEdit(Form)        self.edit_add.setGeometry(QtCore.QRect(20, 420, 411, 20))        self.edit_add.setObjectName(_fromUtf8("edit_add"))        self.button_add = QtGui.QPushButton(Form)        self.button_add.setGeometry(QtCore.QRect(440, 420, 71, 23))        self.button_add.setObjectName(_fromUtf8("button_add"))        self.label_4 = QtGui.QLabel(Form)        self.label_4.setGeometry(QtCore.QRect(20, 440, 251, 16))        self.label_4.setObjectName(_fromUtf8("label_4"))          self.retranslateUi(Form)        QtCore.QMetaObject.connectSlotsByName(Form)      def retranslateUi(self, Form):        Form.setWindowTitle(_translate("Form", "目录探测工具", None))        self.label.setText(_translate("Form", "网站地址:", None))        self.button_search.setText(_translate("Form", "探测", None))        self.label_2.setText(_translate("Form", "结果:", None))        self.button_add.setText(_translate("Form", "添加地址", None))        self.label_4.setText(_translate("Form", "例如:/admin/manager.asp  请以斜杠开始", None))

登录后复制

2. 启动文件 start.py

  1. #!/usr/local/bin/python#coding=utf-8  import sysimport osimport timeimport httplibimport refrom PyQt4 import QtCore, QtGuifrom threading import Thread  from find_ui import Ui_Form    class MyForm(QtGui.QMainWindow):    def __init__(self, parent=None):        QtGui.QWidget.__init__(self, parent)        self.ui = Ui_Form()        self.ui.setupUi(self)        QtCore.QObject.connect(self.ui.button_search,QtCore.SIGNAL("clicked()"), self.startthread)        QtCore.QObject.connect(self.ui.button_add,QtCore.SIGNAL("clicked()"), self.addAddress)    def startSearch(self):        self.ui.label_3.setText("")        self.getAddress()        address=str(self.ui.edit_address.text())        self.accessAddesss(address)              def startthread(self):        t1=Thread(target=self.startSearch,)        t1.start()                        def getAddress(self):        try:            global addresslist            addresslist=[]            filePath=os.getcwd()+"\address.txt"           # if not os.path.isfile(filePath):            #    print 'aaa'                         #   return 0                             fileAddress=file(filePath,"r")            for address_line in fileAddress.readlines():                if address_line not in addresslist:                    addresslist.append(address_line)                    pass                pass            pass            fileAddress.close()                      except:            #self.ui.text_all.setText('aaa')            self.ui.text_all.setText(u'打开文件错误')            pass        finally:            #fileAddress.close()            pass       # print addresslist[0]          def accessAddesss(self,host):        try:            print host            print len(addresslist)            for oneAddress in addresslist:                print len(addresslist)                oneAddress=oneAddress.replace("","")                print oneAddress                connection=httplib.HTTPConnection(host,80,timeout=10)                connection.request("GET",oneAddress)                response=connection.getresponse()                result=response.reason                resultNum=response.status                                  if "OK" in result or "Forbidden" in result:                    getaddress="http://"+host+oneAddress+"------"+str(resultNum)+":"+result                    self.ui.text_exist.append(getaddress)                else:                    self.ui.text_all.append("http://"+host+oneAddress+"------"+str(resultNum)+":"+result)                                      connection.close()        except Exception as e:            print e.message        self.ui.label_3.setText(u"探测完成")        self.ui.label_3.colorCount()             def  addAddress(self):        try:            filePath=os.getcwd()+"\address.txt"                 fileAddress=file(filePath,"a")            newAddress=""+str(self.ui.edit_add.text())            print newAddress            fileAddress.write(newAddress)            fileAddress.close()        except Exception as e:            print e.message            if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    myapp = MyForm()    myapp.show()    sys.exit(app.exec_())

登录后复制

3.address.txt 扫描地址名单文件,可以通过编辑改文件制定自己的规则,你懂的~~

/admin.php

/admin/

立即学习“Python免费学习笔记(深入)”;

/administrator/

/moderator/

/webadmin/

/adminarea/

/bb-admin/

/adminLogin/

/test/login.jsp

/source/login.php

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
编程技术

python动态捕获异常

2025-2-27 20:48:21

编程技术

python实现中文字符繁体和简体中文转换

2025-2-27 20:48:35

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索