下面的程序给出了对给定的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多线程端口扫描程序相关推荐

  1. linux编写一个简单的端口扫描程序,小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2)...

    当前位置:我的异常网» Linux/Unix » 小弟我在linux下写了个简单的多线程端口扫描程序, 小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2) www. ...

  2. python多线程端口扫描

    利用python多线程的性质,写了一个扫描目标主机开放端口的程序 程序功能: 输入目标ip地址,程序执行扫描,讲扫描到的端口,存入test.tst文件 附上代码: import telnetlib i ...

  3. 使用Python进行端口扫描

    使用Python进行端口扫描 本文最后更新于2018-6-20,可能会因为没有更新而失效.如已失效或需要修正,请联系我! GitHub地址:https://github.com/zhang0peter ...

  4. Qt多线程端口扫描工具(开源)

    目录 本工具特点 工具运行演示 下载地址 关键代码 本工具特点 采用多线程端口扫描(10个线程) 使用CSS美化界面! 采用自定义控件美化界面! 使用方便! 工具运行演示 下面来一个动态图把: 下载地 ...

  5. C语言端口扫描源码,C语言实现TCP多线程端口扫描

    多线程端口扫描实现(C语言) 源码: #include #include #include #include #include #pragma comment(lib,"WS2_32.lib ...

  6. TCP/IP网络程序编程——端口扫描程序(TCP)

    端口扫描介绍 端口扫描可以收集目的主机的提供服务端口的信息,可以对于目的主机的信息进行收集. 端口扫描的程序每次会向目的主机特定端口发送一条请求,如果请求得到回应则可以判断是否本端口在对外开放,通过这 ...

  7. 使用Python编写网络扫描程序

    使用Python编写网络扫描程序 ​ 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...

  8. linux 多线程端口扫描,python 多线程完成linux服务器端口扫描

    人性化交互式python脚本,采用多线程方式完成linux服务器开放端口扫描: 以下为完整代码: #!/usr/bin/env  python #-*- coding: UTF-8 -*- #func ...

  9. 端口扫描程序 快速扫描 多线程、范围端口、范围IP、查看历史记录 Windows/MacOS

    支持平台 Windows7.Windows8.Windows10.MacOS10.15以上(MacOS10.15以下会有权限问题) 简介 设计思路: 1.对指定IP段的端口进行扫描. 2.基于多线程, ...

最新文章

  1. 基于Storyboard创建多分支NavigationController的方法
  2. linux下find,xargs命令详解和实例
  3. 跨进程信息交互真个费事。
  4. 梳理十年Kaggle竞赛,看自然语言处理的变迁史
  5. 图像工程CH5:图像消噪和恢复
  6. java编译器代码检查_Java编译器可以优化此代码吗?
  7. conda安装tensorflow-gpu
  8. 在Ubuntu下用桌面图形界面挂载分区
  9. MyBatis映射器出错,已解决(Multiple annotations found at this line:)
  10. 算法竞赛入门 第2版 习题3-3 UVa1225
  11. 计算机科学与技术实践教学,计算机科学与技术实践教学方法_精编版.doc
  12. VS 2010 快捷键
  13. c#控制台应用程序读取 config
  14. ts无损剪辑合并_视频剪切合并器下载-视频剪切合并器 v13.4免费版
  15. 每日一面 - 从 innodb 的索引结构分析,为什么索引的 key 长度不能太长?
  16. 什么是 P = NP 问题?
  17. DirectX11入门篇
  18. Pygame学习笔记 4 —— 时间与运动
  19. android组合控件的焦点,撸一个简单的TV版焦点控制的日历控件
  20. 什么是盒子模型?盒子模型有哪些?怎么转换?

热门文章

  1. linux里的日志文件干啥用的,linux分析日志经常用的命令
  2. VS2008让Release配置也能调试起来~
  3. Linux驱动框架之framebuffer驱动框架
  4. QLocalServer与QLocalSocket进程通讯
  5. poj 1523(无向联通图的割点)
  6. [vb+mo] visual baisc 6.0 基于mapobjects 2.4 开发的数字化校园电子地图
  7. php pthread安装编译,php 多线程扩展 pthreads 安装 及 使用
  8. 如何建立图像数据矩阵和图像显示灰度之间的关系!_放射技术考试第四章第一节 数字图像的特征...
  9. 幼儿园语言活动包括哪几类_幼儿园教育:《一起玩》语言活动教案
  10. opencv java 灰度_如何使用Java将图像转换为灰度?