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专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...
随机推荐
- 深入理解Javascript
http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 1.编写高质量JavaScript代码的基本要点 2.Javascript函数 ...
- 关于centos7下扩充和减小xfs逻辑分区大小的问题
比如,我想把/dev/centos/home下的50G变为8G 1.增加 1.1 去掉挂载 umount /home 1.2 减小home, lvreduce -L 8G /dev/centos/ho ...
- 并发之 volatile
使用volatile: 每次读取volatile变量的值,都强制从主存读取最新的值. (每次修改volatile变量都会同步到主存中) i++ 之所以不能保证线程安全,是因为volatile不能解决非 ...
- 出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误
使用selenium,出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误 原因:selenium-server- ...
- NYOJ 55-懒省事的小明
点击打开链接 懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果 ...
- 共享池之六:shared pool latch/ library cache latch /lock pin 简介
latch:library cache --desc v$librarycache; latch:library cache用于保护hash bucket.library cache lock保护HA ...
- Linux学习小结(转)
linux目录架构 / 根目录/bin 常用的命令 binary file 的目錄/boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内/boot/grub/menu.l ...
- 深度解析国内O2O模式
今日在网上发现这篇文章很棒,详细的分析了当前BAT矩阵下的o2o 的模式.所以转载过来与大家一起分享. 文章来自于:http://www.siilu.com/20151214/158917.shtml ...
- docker-tomcat-nginx 反向代理和负载均衡
1.部署tomcat镜像 下载官方的tomcat镜像. -jre7 启动docker容器,2个实例,分别映射不同的端口号, ~/work/sample-webapps/[v1.0|v2.0]/下面存放 ...
- [翻译]AlphaGO留给我们的东西
来源:http://headlines.yahoo.co.jp/hl?a=20160317-00000049-cnippou-krhttp://headlines.yahoo.co.jp/hl?a=2 ...