首页 > 代码库 > py2.7+pyqt4开发端口检测工具
py2.7+pyqt4开发端口检测工具
使用工具:python2.7,pyqt4,pyinstaller,pywin32
先贴代码
1 import sys 2 from PyQt4 import QtGui,QtCore 3 4 import threading 5 import thread 6 import os 7 import re 8 import urllib 9 import socket 10 import time 11 12 13 global maxNum 14 global cnt 15 global sign 16 17 class Main_QWidget(QtGui.QWidget): 18 def __init__(self): 19 QtGui.QWidget.__init__(self) 20 21 self.ipaddr=QtGui.QLineEdit(self) 22 self.portBegin=QtGui.QLineEdit(self) 23 self.portEnd=QtGui.QLineEdit(self) 24 self.GoButton=QtGui.QPushButton(‘Go‘,self) 25 self.out=QtGui.QTextBrowser() 26 27 self.ipinfo=QtGui.QLabel("input the ip : ") 28 self.portinfo1=QtGui.QLabel("input the begin port : ") 29 self.portinfo2=QtGui.QLabel("input the end port : ") 30 self.resinfo=QtGui.QLabel(" the res : ") 31 32 #self.status=QtGui.QTextBrowser() 33 34 grid=QtGui.QGridLayout() 35 36 grid.addWidget(self.ipinfo,0,0,1,3) 37 grid.addWidget(self.ipaddr,1,0,1,3) 38 39 grid.addWidget(self.portinfo1,2,0,1,3) 40 grid.addWidget(self.portBegin,3,0,1,3) 41 42 grid.addWidget(self.portinfo2,4,0,1,3) 43 grid.addWidget(self.portEnd,5,0,1,3) 44 45 grid.addWidget(self.GoButton,6,0,1,3) 46 47 grid.addWidget(self.resinfo,7,0,1,3) 48 grid.addWidget(self.out,8,0,1,3) 49 50 51 #grid.addWidget(self.status,5,1,1,3) 52 53 54 self.resize(300,600) 55 self.setLayout(grid) 56 self.setWindowTitle("find the open port = =") 57 58 self.connect(self.GoButton,QtCore.SIGNAL(‘clicked()‘),gogogo) 59 60 def getIpAddr(self): 61 return self.ipaddr.text() 62 def getPortBegin(self): 63 return self.portBegin.text() 64 def getPortEnd(self): 65 return self.portEnd.text() 66 67 def gogogo1(): 68 print("hello,world\n") 69 print("ip :",main.ipaddr.text()) 70 print("begin: ",main.portBegin.text()) 71 print("end: ",main.portEnd.text()) 72 main.out.append("??") 73 74 def output(temp,interval): 75 main.out.append("open port: "+str(temp)) 76 77 def tryconnect(temp,interval): 78 global cnt 79 global sign 80 s=socket.socket() 81 ttemp=int(temp) 82 t=s.connect_ex((main.ipaddr.text(),ttemp)) 83 if t==0: 84 sign=1 85 #thread.start_new_thread(output,(temp,1)) 86 main.out.append("open port: "+str(ttemp)) 87 print(" find open port: ",ttemp) 88 cnt=cnt-1 89 thread.exit() 90 return True 91 else: 92 cnt=cnt-1 93 thread.exit() 94 return False 95 96 def sleep(temp,interval): 97 time.sleep(1) 98 thread.exit() 99 100 def gogogo():101 global cnt102 global maxNum103 global sign104 sign=0;105 #main.GoButton.setEnabled(0)106 main.out.append(" finding "+ main.ipaddr.text() + " open port ing...")107 i=int(main.portBegin.text());108 while i<=int(main.portEnd.text()):109 print("threadnum= ", cnt,"port= ",i)110 #main.status.append( "cnt= "+str(cnt)+"i= "+str(i) )111 if( cnt < maxNum ):112 thread.start_new_thread(tryconnect,(i,1))113 i=i+1114 cnt=cnt+1115 #else:116 # thread.start_new_thread(sleep,(1,1))117 # time.sleep(0.1)118 # print("waiting...")119 if sign==0:120 main.out.append(" no open port in range port...")121 #main.GoButton.setEnabled(1)122 return True123 124 125 if __name__=="__main__":126 global maxNum127 maxNum=800128 global cnt129 cnt=0130 131 app=QtGui.QApplication(sys.argv)132 main=Main_QWidget()133 main.show()134 sys.exit(app.exec_())135
先说说遇到的问题,我是python菜鸟,昨天用python3.4写的,然后各种找,用到啥百度啥,最后终于让我把程序写好了,后来打包成exe文件时候遇到问题了,今天上午来卸载了3.4改成了2.7,用pyinstaller打包,成了!
先写这么多,到时候补充吧。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。