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模拟GitHub登录详解

如何利用Python模拟GitHub登录详解

前言 最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析。现在我准备尝试着结合Python来模拟GitHub登录。 Fiddler抓包分析...

解决pycharm remote deployment 配置的问题

解决pycharm remote deployment 配置的问题

(1)无法完整识别服务器端的环境变量 举例: a: shell下 b:win7下使用pycharm 结果发现对应的环境变量值缺失 如此会影响一些模块的正常加载(如cx_Oracle需...

使用Py2Exe for Python3创建自己的exe程序示例

使用Py2Exe for Python3创建自己的exe程序示例

最近使用Python 3.5写了一个GUI小程序,于是想将该写好的程序发布成一个exe文件,供自己单独使用。至于通过安装的方式使用该程序,我没有探索,感兴趣的读者可以自己摸索。 1 介绍...

python reduce 函数使用详解

python reduce 函数使用详解

reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。 官方文档是这样介绍的 reduce(...) reduce(fu...

python中用logging实现日志滚动和过期日志删除功能

logging库提供了两个可以用于日志滚动的class(可以参考https://docs.python.org/2/library/logging.handlers.html),一个是R...