本文实例讲述了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相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python进程与线程操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。