python实现端口扫描,python 扫描端口

  python实现端口扫描,python 扫描端口

  端口扫描非常实用,不仅是为了信息安全,也是为了日常运维。本文将使用Python写一个简单的端口扫描器,可以参考。

  00-1010 1.所需的库2。获取主机地址3。循环所有端口4。完整的脚本端口扫描非常实用,不仅是为了信息安全,也是为了日常运维。在这方面不要有太多的工具。做过CTF的朋友会告诉你,端口扫描工具有多少种,为什么又要用Python自己实现呢?这个问题就好比餐厅的菜已经很好吃了,为什么还要自己做饭。主要是适合自己的口味,加上自己的个人功能。

  今天,我们将用20行代码编写一个简单的端口扫描器。我们开始吧!

  

目录

  是标准库,所以内部网环境不会影响:

  导入套接字

  重要语法

  importsys

  进口时间

  Socket库是一个底层的网络接口库,它允许我们在脚本中创建网络连接。argparse库用于解释传递给脚本的参数。Sys库允许我们与系统进行交互。最后,时基用于计算花费的时间。

  

1、需要的库

  parser=argparse。ArgumentParser()

  parser.add_argument(“主机”)

  args=parser.parse_args()

  这样,当脚本运行时,第一个参数可以在主机名或ip地址中传递,以下内容可以通过args.host使用

  

2、获取一个 host 地址

  端口占用2个字节,所以它的范围是1-65535。

  start=time.time()

  尝试:

  for部分范围(1,65536):

  sock=socket.socket(socket。AF_INET,socket。袜子_流)

  sock.settimeout(1)

  result=sock . connect _ ex((args . host,port))

  ifresult==0:

  打印(端口: { }打开)。格式(端口))

  sock.close()

  异常键盘中断:

  sys.exit()

  end=time.time()

  如果sock.connect_ex返回0,则端口打开。为了使程序正常退出,我们增加了try except来捕捉键盘发起的中断。

  

3、循环所有的端口

  一旦for循环完成并且扫描了所有端口,我们将获得时间并打印出脚本运行的时间:

  导入套接字

  重要语法

  importsys

  进口时间

  parser=argparse。ArgumentParser()

  parser.add_argument(“主机”)

  args=parser.parse_args()

  start=time.time()

  尝试:

  for部分范围(1,65536):

  sock=socket.socket(socket。AF_INET,socket。袜子_流)

  sock.settimeout(1)

  result=sock . connect _ ex((args . host,port))

  ifresult==0:

  打印(端口: { }打开)。格式(端口))

  sock.close()

  异常键盘中断:

  sys.exit()

  end=time.time()

  打印(f scanning completed in : { end-start :3 f } s )

  除去空行,代码共有20行,运行效果如下:

  这就是这篇关于编写一个基于Python的简单端口扫描器的文章。有关Python端口扫描器的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: