python多线程端口扫描程序
下面的程序给出了对给定的ip主机进行多线程扫描的python代码
#!/usr/bin/env python
#encoding: utf-8import socket, sys, thread, timeopenPortNum = 0
socket.setdefaulttimeout(3)def usage():print '''Usage:Scan the port of one IP: python port_scan_multithread.py -o <ip>Scan the port of one IP: python port_scan_multithread.py -m <ip1, ip2, ip3, ip4 ...>'''print 'Exit'sys.exit(1)def socket_port(ip, PORT):global openPortNumif PORT > 65535:print 'Port scanning beyond the port range, interrupt to scan'sys.exit(1)s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)result = s.connect_ex((ip, PORT))if(result == 0):print ip, PORT,'is open'openPortNum += 1s.close()def start_scan(IP):for port in range(0, 65535+1):thread.start_new_thread(socket_port, (IP, int(port)))time.sleep(0.006)if __name__ == '__main__':t = 0if len(sys.argv)<2 or sys.argv[1] == '-h':usage()elif sys.argv[1] == '-o':ONE_IP = raw_input('Please input ip of scanning: ')t = time.time()start_scan(ONE_IP)elif sys.argv[1] == '-m':MANY_IP = raw_input('Please input many ip of scanning: ')IP_SEG = MANY_IP.split(',')t = time.time()for i in IP_SEG:start_scan(i)printprint 'total open port is %s, scan used time is: %f ' % (openPortNum, time.time()-t)
运行效果图
参考文献
[1].http://moniter.blog.51cto.com/2908666/1355004
python多线程端口扫描程序相关推荐
- linux编写一个简单的端口扫描程序,小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2)...
当前位置:我的异常网» Linux/Unix » 小弟我在linux下写了个简单的多线程端口扫描程序, 小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2) www. ...
- python多线程端口扫描
利用python多线程的性质,写了一个扫描目标主机开放端口的程序 程序功能: 输入目标ip地址,程序执行扫描,讲扫描到的端口,存入test.tst文件 附上代码: import telnetlib i ...
- 使用Python进行端口扫描
使用Python进行端口扫描 本文最后更新于2018-6-20,可能会因为没有更新而失效.如已失效或需要修正,请联系我! GitHub地址:https://github.com/zhang0peter ...
- Qt多线程端口扫描工具(开源)
目录 本工具特点 工具运行演示 下载地址 关键代码 本工具特点 采用多线程端口扫描(10个线程) 使用CSS美化界面! 采用自定义控件美化界面! 使用方便! 工具运行演示 下面来一个动态图把: 下载地 ...
- C语言端口扫描源码,C语言实现TCP多线程端口扫描
多线程端口扫描实现(C语言) 源码: #include #include #include #include #include #pragma comment(lib,"WS2_32.lib ...
- TCP/IP网络程序编程——端口扫描程序(TCP)
端口扫描介绍 端口扫描可以收集目的主机的提供服务端口的信息,可以对于目的主机的信息进行收集. 端口扫描的程序每次会向目的主机特定端口发送一条请求,如果请求得到回应则可以判断是否本端口在对外开放,通过这 ...
- 使用Python编写网络扫描程序
使用Python编写网络扫描程序 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...
- linux 多线程端口扫描,python 多线程完成linux服务器端口扫描
人性化交互式python脚本,采用多线程方式完成linux服务器开放端口扫描: 以下为完整代码: #!/usr/bin/env python #-*- coding: UTF-8 -*- #func ...
- 端口扫描程序 快速扫描 多线程、范围端口、范围IP、查看历史记录 Windows/MacOS
支持平台 Windows7.Windows8.Windows10.MacOS10.15以上(MacOS10.15以下会有权限问题) 简介 设计思路: 1.对指定IP段的端口进行扫描. 2.基于多线程, ...
最新文章
- 基于Storyboard创建多分支NavigationController的方法
- linux下find,xargs命令详解和实例
- 跨进程信息交互真个费事。
- 梳理十年Kaggle竞赛,看自然语言处理的变迁史
- 图像工程CH5:图像消噪和恢复
- java编译器代码检查_Java编译器可以优化此代码吗?
- conda安装tensorflow-gpu
- 在Ubuntu下用桌面图形界面挂载分区
- MyBatis映射器出错,已解决(Multiple annotations found at this line:)
- 算法竞赛入门 第2版 习题3-3 UVa1225
- 计算机科学与技术实践教学,计算机科学与技术实践教学方法_精编版.doc
- VS 2010 快捷键
- c#控制台应用程序读取 config
- ts无损剪辑合并_视频剪切合并器下载-视频剪切合并器 v13.4免费版
- 每日一面 - 从 innodb 的索引结构分析,为什么索引的 key 长度不能太长?
- 什么是 P = NP 问题?
- DirectX11入门篇
- Pygame学习笔记 4 —— 时间与运动
- android组合控件的焦点,撸一个简单的TV版焦点控制的日历控件
- 什么是盒子模型?盒子模型有哪些?怎么转换?
热门文章
- linux里的日志文件干啥用的,linux分析日志经常用的命令
- VS2008让Release配置也能调试起来~
- Linux驱动框架之framebuffer驱动框架
- QLocalServer与QLocalSocket进程通讯
- poj 1523(无向联通图的割点)
- [vb+mo] visual baisc 6.0 基于mapobjects 2.4 开发的数字化校园电子地图
- php pthread安装编译,php 多线程扩展 pthreads 安装 及 使用
- 如何建立图像数据矩阵和图像显示灰度之间的关系!_放射技术考试第四章第一节 数字图像的特征...
- 幼儿园语言活动包括哪几类_幼儿园教育:《一起玩》语言活动教案
- opencv java 灰度_如何使用Java将图像转换为灰度?