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

相关文章

浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)

池化层定义在tensorflow/python/layers/pooling.py. 有最大值池化和均值池化。 1、tf.layers.max_pooling2d max_pooli...

Python语言进阶知识点总结

Python语言进阶知识点总结

数据结构和算法 算法:解决问题的方法和步骤 评价算法的好坏:渐近时间复杂度和渐近空间复杂度。 渐近时间复杂度的大O标记: - 常量时间复杂度 - 布隆过滤器 / 哈希存储 - 对数时间复...

Pyorch之numpy与torch之间相互转换方式

numpy中的ndarray转化成pytorch中的tensor : torch.from_numpy() pytorch中的tensor转化成numpy中的ndarray : nump...

python3.0 字典key排序

IDLE 3.0 >>> dic = {"aa":1,"bb":2,"ab":3} >>> dic {'aa': 1, 'ab': 3, 'bb':...

Python打印输出数组中全部元素

学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序。 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用p...