Python多线程扫描端口代码示例

yipeiwu_com6年前Python基础

本文代码实现Python多线程扫描端口,具体实现代码如下。

#coding:utf-8
import socket
import thread
import time
socket.setdefaulttimeout(3)

def socket_port(ip,port):
  try:
   if port>=65535:
     print(u"端口扫描结束!")
   s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#创建套接字
   result=s.connect_ex((ip,port))#链接端口
   if(result==0):
     print ip,u" : ",port,u"端口开发"
   s.close()
  except:
   print(ip,":",port)
   print(u"端口扫描异常")


def IP_port(data):
  try:
   ip="127.0.0.1"
   t=time.time()
   for i in range(0,1000+1):
     thread.start_new_thread(socket_port,(ip,int(i)))#多线程扫描端口
     time.sleep(0.003)
   print(u"扫描端口完成用时:time_:%s"%(time.time()-t))


  except Exception as e:
   print(e)
   print(ip,i)
   print(u"端口扫描异常")

if __name__ == '__main__':
  print u"开始工作"
  # socket_port("127.0.0.1",135)
  IP_port("127.0.0.1")

结果如下:

开始工作
127.0.0.1 : 135 端口开发
127.0.0.1 : 445 端口开发
扫描端口完成用时:time_:3.00300002098
>>>

总结

以上就是本文关于Python多线程扫描端口代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python+selenium 获取浏览器窗口坐标、句柄的方法

1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现”Command n...

python基础教程之分支、循环简单用法

本文实例讲述了python分支、循环简单用法。分享给大家供大家参考,具体如下: 讲程序设计,不得不讲到顺序、分支、循环。 顺序就是从上到下运行代码,这个很简单,不用再说了。 在讲分支、循...

CentOS 7下Python 2.7升级至Python3.6.1的实战教程

CentOS 7下Python 2.7升级至Python3.6.1的实战教程

前言 大家应该都知道,Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在...

python使用response.read()接收json数据的实例

如下所示: import json result = response.read() result.decode('utf-8') jsonData = json.loads(r...

python之matplotlib学习绘制动态更新图实例代码

python之matplotlib学习绘制动态更新图实例代码

简介 通过定时器Timer触发事件,定时更新绘图,可以形成动态更新图片。下面的实例是学习《matplotlib for python developers》一文的笔记。 实现 实现代...