首页 > python多线程端口扫描程序

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 Scan the port of one IP: python port_scan_multithread.py -m '''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

更多相关:

  • 1. 生成本地密钥 ssh-keygen 2. 将密钥上传到服务器 ssh-copy-id -p port [email protected] 3. 创建登录脚本 ssh -p port [email protected] 转载于:https://www.cnblogs.com/yeran/p/1...

  • import socket,time,re,sys,os,threading import gevent from gevent import monkey monkey.patch_all()socket.setdefaulttimeout(2)#该方法用来处理用户数据的port范围,并计算范围内的port,将其添加到列表中,将列...

  • socket client 发起连接。 流程为: 创建接口 发起连接   创建接口参数同socket server相同 发起连接的函数为socket.connect(ip,port) 这个地方的ip与port为socket server端的ip和监听port。 代码示例: # -*- coding: utf-8 -*- ''' Th...

  • 下面的源码给出了使用boost::asio进行域名解析的方法. //g++ -g resolver_demo.cpp -o resolver_demo -lboost_system -lpthread //#include #include #include

  • pc 端配置 点击pc端无线链接图标编辑链接以太网编辑IPv4设置方法:与其他计算机共享根据putty获取的动态ip使用ssh登录 解决 ip 无法登录问题 设置 pc 端 ip 和开发板 ip 在同一个网段 比如开发板 ip 是 10.42.0.123 可以设置自己机器的 ip 为 10.42.0.11 sudo ifcon...

  • 原文:TCP/IP 简介     第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件     TCP/IP 是用于因特网 (Internet) 的通信协议。     计算机通信协议 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述。     什么是 TC...

  • #保存一万条命令记录 sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile#在/etc/profile的文件尾部添加如下行数配置信息 ######jiagu history xianshi######### USER_IP=`who -u am i 2>/dev/null |...

  • TCP/IP基础概念及通信过程举例   出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络。后来为了验证分组交换技术的实用性,ARPANET出现了,并且在3年内逐渐发展,由4个节点发展至34个节点。20世纪70年代前半叶,ARPANET一个机构研制出了TCP/IP,1982年具体规范...