欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

程序员文章站 2022-03-28 18:19:27
二、 理论基础 以下内容整理自百度百科,参考链接: 百度百科-FTP服务器 2.1 FTP服务器 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol( ......
看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

二、 理论基础

以下内容整理自百度百科,参考链接:

  • 百度百科-FTP服务器

2.1 FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP 工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。主要有两种工作模式:

  • 主动FTP
看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

扫描Ftp弱口令

Ftp弱口令扫描其实就是暴力破解,为何我们不称为暴力破解呢?因为我们只是扫描一些简单的密码组合,并不是所有可能得密码组合,而且我们也没有那么多时间去暴力破解,谁让我们活不了成千上万年呢!只是一个密码而已,弱口令扫不到就算了,天涯何处无芳草何必单恋一枝花呢!不过你要非喜欢这个Ftp服务器的话,以后我再教大家别的方法渗透服务器!

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

代码很简短,主要在注释中解释了代码的含义。这里说一下这个函数的思路,首先用主机名构造了一个Ftp对象(即ftp),然后用这个ftp调用不带任何参数的login()函数即表示要匿名登录这个Ftp服务器,如果登录过程中没有产生异常,则表明匿名登录成功,否则匿名登录失败!

3.2 Ftp弱口令的扫描

Ftp弱口令的扫描依赖于用户名和密码字典,我们的实验环境中会提供 pwd.txt 作为密码字典,字典的格式如下图所示:

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

3.3 命令行解析

至此我们的Ftp扫描器已经几乎完成了,代码并不多,也很简单。现在我们需要做的是让我们的脚本可以处理命令行输入,以控制扫描哪些主机。处理命令行参数我们将用到Python中的argparse库,这个库是Python中自带的模块,处理命令行将变得非常简单,下面我们一起见证一下argparse的强大之处,先上代码:

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

五、总结

本次课程实现了Ftp弱口令扫描器,主要用到以下知识点:

  1. Ftp服务器的基本概念使用ftplib如何一步一步的实现Ftp弱口令扫描器使用argparse解析命令行参数实验环境的搭建方法

进群:125240963  即可获取数十套PDF哦!