py2.7+pyqt4开发端口检测工具
使用工具:python2.7,pyqt4,pyinstaller,pywin32
先贴代码
import sys
from PyQt4 import QtGui,QtCore import threading
import thread
import os
import re
import urllib
import socket
import time global maxNum
global cnt
global sign class Main_QWidget(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self) self.ipaddr=QtGui.QLineEdit(self)
self.portBegin=QtGui.QLineEdit(self)
self.portEnd=QtGui.QLineEdit(self)
self.GoButton=QtGui.QPushButton('Go',self)
self.out=QtGui.QTextBrowser() self.ipinfo=QtGui.QLabel("input the ip : ")
self.portinfo1=QtGui.QLabel("input the begin port : ")
self.portinfo2=QtGui.QLabel("input the end port : ")
self.resinfo=QtGui.QLabel(" the res : ") #self.status=QtGui.QTextBrowser() grid=QtGui.QGridLayout() grid.addWidget(self.ipinfo,0,0,1,3)
grid.addWidget(self.ipaddr,1,0,1,3) grid.addWidget(self.portinfo1,2,0,1,3)
grid.addWidget(self.portBegin,3,0,1,3) grid.addWidget(self.portinfo2,4,0,1,3)
grid.addWidget(self.portEnd,5,0,1,3) grid.addWidget(self.GoButton,6,0,1,3) grid.addWidget(self.resinfo,7,0,1,3)
grid.addWidget(self.out,8,0,1,3) #grid.addWidget(self.status,5,1,1,3) self.resize(300,600)
self.setLayout(grid)
self.setWindowTitle("find the open port = =") self.connect(self.GoButton,QtCore.SIGNAL('clicked()'),gogogo) def getIpAddr(self):
return self.ipaddr.text()
def getPortBegin(self):
return self.portBegin.text()
def getPortEnd(self):
return self.portEnd.text() def gogogo1():
print("hello,world\n")
print("ip :",main.ipaddr.text())
print("begin: ",main.portBegin.text())
print("end: ",main.portEnd.text())
main.out.append("??") def output(temp,interval):
main.out.append("open port: "+str(temp)) def tryconnect(temp,interval):
global cnt
global sign
s=socket.socket()
ttemp=int(temp)
t=s.connect_ex((main.ipaddr.text(),ttemp))
if t==0:
sign=1
#thread.start_new_thread(output,(temp,1))
main.out.append("open port: "+str(ttemp))
print(" find open port: ",ttemp)
cnt=cnt-1
thread.exit()
return True
else:
cnt=cnt-1
thread.exit()
return False def sleep(temp,interval):
time.sleep(1)
thread.exit() def gogogo():
global cnt
global maxNum
global sign
sign=0;
#main.GoButton.setEnabled(0)
main.out.append(" finding "+ main.ipaddr.text() + " open port ing...")
i=int(main.portBegin.text());
while i<=int(main.portEnd.text()):
print("threadnum= ", cnt,"port= ",i)
#main.status.append( "cnt= "+str(cnt)+"i= "+str(i) )
if( cnt < maxNum ):
thread.start_new_thread(tryconnect,(i,1))
i=i+1
cnt=cnt+1
#else:
# thread.start_new_thread(sleep,(1,1))
# time.sleep(0.1)
# print("waiting...")
if sign==0:
main.out.append(" no open port in range port...")
#main.GoButton.setEnabled(1)
return True if __name__=="__main__":
global maxNum
maxNum=800
global cnt
cnt=0 app=QtGui.QApplication(sys.argv)
main=Main_QWidget()
main.show()
sys.exit(app.exec_())
find_open_port
先说说遇到的问题,我是python菜鸟,昨天用python3.4写的,然后各种找,用到啥百度啥,最后终于让我把程序写好了,后来打包成exe文件时候遇到问题了,今天上午来卸载了3.4改成了2.7,用pyinstaller打包,成了!
先写这么多,到时候补充吧。


py2.7+pyqt4开发端口检测工具的更多相关文章
- TCP端口检测工具
很多时候,我们需要测试 tcp 端口.ping 命令虽然好用,但不能测试端口,因为 ping 基于ICMP协议,属于IP层协议,所以无法测试传输层的 TCP/UDP 端口.幸好有tcping命令,可以 ...
- tcping端口检测工具使用
大家都知道检测网络状态是,无论是服务器/客户机 最常用的就是ping命令,但ping命令只能检测ICMP协议,若对方禁止ping协议了,自然ping命令也就无法检测了,此时,我们可以通过tcping工 ...
- Python-通过socket实现一个小型的端口检测工具
实验机器IP:192.168.220.139,端口开放情况 代码 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import ...
- tcping ,一个好用的TCP端口检测工具
1.常用的用法(windows) tcp -w 10 -t -d -i 5 -j --color 81.156.165.66 443 2. http模式 -u,与-h命令连用,每一行输出目标的url ...
- 安全测试 - 端口嗅探工具Nmap
Nmap 在官网下载nmap端口检测工具https://nmap.org/,nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端. 使用: 通过cmd命令:nmap www.5i5j.c ...
- Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简 ...
- Xenu-web开发死链接检测工具应用
Xenu 是一款深受业界好评,并被广泛使用的死链接检测工具. 时常检测网站并排除死链接,对网站的SEO 非常重要,因为大量死链接存在会降低用户和搜索引擎对网站的信任,web程序开发人员还可通过其找到死 ...
- 基于端口的弱口令检测工具--iscan
亲手打造了一款弱口令检测工具,用Python编写,主要可以用于内网渗透.弱口令检测等方面,目前集成了常见端口服务,包含 系统弱口令:ftp.ssh.telnet.ipc$ 数据库弱口令:mssql.m ...
- Metasploit是一款开源的安全漏洞检测工具,
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...
随机推荐
- android按钮监听器的四种技术
android开发中经常会用到各种各样的监听器,android监听器的写法与java又有不同的地方; 1,activity中使用内部类实现接口 ,创建内部类实例 使用add方法 与java类似 创 ...
- laravel判断HTTP请求是否ajax
if(Request->ajax()){ echo "AJAX"; }else{ echo '普通请求':}
- jquery判断自己是父节点的第几个子节点
<div> <span>内容</span> <span>内容</span> <span>内容</span> < ...
- 《一课经济学》书摘笔记I
人在经济活动中追求私利的天性,以及天生短视的倾向(即总是只关注某项政策的即时影响,或者只关注政策对某个特殊群体产生的影响,而不去探究那项政策对所有群体造成的长远影响)以上种种致使经济规律的研究复杂艰难 ...
- bat操作数据库mysql
createDB.bat文件内容: @echo off cd C:/Program Files/cl_ZWL_App/<a href="http://lib.csdn.net/base ...
- 临时改GCC编译器,重启后失效
临时改GCC编译器,重启后失效.例如,用如下命令: export CROSS_COMPILE= <gcc 文件所在的目录>/arm-linux-gnueabihf- 本例中使用的命令如下: ...
- router os
http://www.oschina.net/news/47568/router-operation-system
- The Ninth Hunan Collegiate Programming Contest (2013) Problem G
Problem G Good Teacher I want to be a good teacher, so at least I need to remember all the student n ...
- 日期:Date
API--- java.util.Date:日期类,月份从0-11: 日期对象和毫秒值之间的转换. 1,日期对象转成毫秒值.Date类中的getTime方法. 2,如何将获取到的毫秒值转成具体的日期呢 ...
- js对象4-js原型--杂志
提问:在js中什么是原型 prototype 每个学js的人都有自己的解释,网上一大堆的解释与应用,但是看了他们的解释表示还是不理解怎么办?(原因是他们说的太天花乱坠了) 官方手册解释:prototy ...