python

超轻量级php框架startmvc

Python实现的对本地host127.0.0.1主机进行扫描端口功能示例

更新时间:2020-06-24 15:42:01 作者:startmvc
本文实例讲述了Python实现的对本地host127.0.0.1主机进行扫描端口功能。分享给大家供大家参

本文实例讲述了Python实现的对本地host127.0.0.1主机进行扫描端口功能。分享给大家供大家参考,具体如下:

前面一篇《Python IP端口扫描工具类》详细介绍了端口扫描功能,这里分析一下针对本地localhost端口扫描的方法。

具体代码如下:


#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#端口扫描器
import socket
import thread
import time
socket.setdefaulttimeout(3) #设置了全局默认超时时间
def socket_port(ip,PORT): #扫描开放端口
 try:
 if PORT>=65535:
 print u"端口扫描结束0-65535"
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 #s.settimeout(float(1)) #延时5S
 #s.connect((ip,PORT))
 result=s.connect_ex((ip,PORT))
 if(result==0):
 print ip,u":",PORT,u"端口开放"
 s.close()
 except:
 print u"扫描端口异常2"
def IP__port(data): #扫描端口
 try:
 #data="127.0.0.1"
 t=time.time()
 for i in range(0,1000 + 1): #65535
 thread.start_new_thread(socket_port,(data,int(i)))
 time.sleep(0.003) #确保先运行Seeker中的方法
 print u'扫描端口完成用时 time:%f' % (time.time()-t)
 except:
 print u"扫描端口异常1"
if __name__=='__main__':
 #socket_port("127.0.0.1",21) #扫描开放端口
 IP__port("127.0.0.1") #多线程

运行结果如下:

Python 本地 host 127.0.0.1 主机 扫描端口