00:00
大家好,欢迎大家继续收看上硅谷的Linux与预算视频,我是刘川老师。那么我们这节课啊,来讲一下关于我们FTP的加密传输的一个实验,那在讲我们FTP的加密传输之前,我需要给大家简单说一下我们的FTP呢,已经把FTP的基本的一个原理,工作模式,传输模式,以及我们FTP的几种登录验证模式,以及他们相关的实验已经做的差不多了,但是呢,我们回顾一下我们的FTP啊。他所使用的这个FTP传输协议,最终啊,它还是使用明文传输的,也就意味着我们不管使用什么样的一个认证方式,传输方式,传输模式等等,我们整个的登录验证过程,就是账户和密码的验证过程,以及我们的数据在进行传输的时候,都是明文在我们的互联网上或者是局域网内进行传输的。
01:00
那这个时候呢,就会造成一个非常大的一个呃,安全隐患,那就是担心有人。从我们的这个传输过程当中,将我们的这个数据包截获,并且呢,加以进行什么分析,得到我们相关的一些语用信息,比如说最简单的就是获取我们的账户密码,那一旦我们的服务器的账户密码被别人获取到了之后啊,我们的服务器就可以被那些啊。额外的其他的用户,就是其他非法的一些人登录到我们的服务器上,然后来对我们的服务器的一些资源进行一些什么破坏或者说窃取,所以为了安全呢,我们这节课呢,要来讲一下如何让我们的FTP在数据传输的时候能够更安全一些,当然我们呢,既然说了FTP这个东西它是一个铭文传输,那我们就在没有做这个加密之前,先来验证一下我们这个传输的过程是不是真正的是铭文的,所以说呢,我们这节课我们先来。就是在做这个实验之前,我们先来。
02:00
用这个叫TCP dump的工具来抓取一下我们在没有加密的时候的数据包,OK。那这个工具呢,叫TCP dump。那这个工具呢,默认情况下一般是有的,如果没有的话,你就用亚M安装一下就可以了啊,那这个命令呢,里边的选项非常多,我这个地方给大家列了一些,呃,就是常见的常用的几个选项,然后呢加以了说明,我们简单看一下,那这个TCP的杠I选项呢,一般是用来指定监听哪一个网卡上的数据包。比如说我们可以通过杠I来监听我们本机的ETH0网卡的一个数据包,OK,那杠N呢,是用来指定我们。捕获到的信息以什么样的形式来显示?这个地方是对地址以数字的方式来显示,否则会以主机名的方式显示,那么最好是以数字形式来显示,这样更方便一些。
03:03
那杠NN2个N呢,其实就是更详细的信息。除了把这种啊。地址以数字方式显,以数字方式显示,还把一些端口啊等等的都以数字方式显示,比如说呃,我们的杠N和杠NN,实际上就是将捕获到的数据呃数字化,而不是文字化。OK,这两个选项相对好记些,也就是说这个地方你可以用杠N,也可以用杠NN都可以。然后呢,再一个是杠大X,注意啊,上面这几个选项是杠小的,下面是杠大X,杠大X指的是输出包的头部信息,然后呢,会以16进制和阿斯克玛两种方式同时输出,也就是说既会以16进制的方式输出,又是又会以阿斯格玛的方式来输出,其实我们一般情况是要让他以阿斯格玛的形式来输出,因为16进制的我们还要去自己换算,非常麻烦。然后呢,杠VV,其实这个杠VV啊和杠N啊就是有点相似,杠VV呢,也可以用杠V,也可以用杠VV,也可以用杠VVV,但是这个地方其实就是用杠VV就够了,这个呢指的是产生一些更详细的信息,其实就是对抓取到的数据包进行一个显示的详细度的一个,呃,这么一个一个指令而已,就是你想让它显示多少东西,嗯,杠V的数量越多,它当然它的一个显示的详细程度越多,那这个V的数量一般就是最多是三个V啊,这个我们可以通过TCP dump的帮助信息可以看到。
04:34
OK,那这就是我们一些长的选项,当然格式并没有完成啊,注意前面这个地方的选项指定完了,后边要指定两个东西,第一个叫part。第二个叫IP host。Part呢?指的是我们要监听的哪一个端口?啊,我们要监听哪一个端口,也就是说我们要监听来自于哪一个端口的数据包,这是第一个事儿,那第二个是呢,指的是来自于哪里的IP地址,那这两个选项由于是不同的内容,所以说我们要用and这个逻辑连接符给它连连起来,啊注意这个地方and其实是这个TCP dump当中的一个逻辑连接的一个,呃,命令或指令,OK,这是我们的一个格式,那最终呢,这个IP host后边写的这个地址指的是访问来源。
05:21
地址就是客户端的地址,注意啊,这个地方是客户端的地址,而这个地方要填的是服务器的端口啊,服务器的端口OK,那这个呢,一般情况下我们。抓取的时候可以这个呃,从服务器上抓取,比如说我们就服务器自己抓取就可以了,那这个地方呢,还是我们原来的服务器,我呢直接在这个,呃,我们的这个服务器端啊。我们先看一下我的服务有没有起来啊。Anp OK,我的服务是启动着的,那这样呢,我来抓取这个我们的数据包,用我们的TCP弹MP命令啊,然后呢,来指定我们要。
06:00
纸的那些选项以及参数。好了,我们来指一下,首先第一个是杠I来指定一下,我们要监听的是ETH0网卡,当然我们现在是以由于用的是虚拟机,所以呢,在虚拟机上呢,我们现在就一张网卡就E0可以了,但生产环境中可能有两张网卡,这个时候你就要看一下你这个FTP所监听的是每一个网卡的数据请求。有可能你禁止掉了,呃,就是外网的FTP请求,那那你就去监听你的内网的,如果你禁止掉内网的了,那你就先听外网的,这个就是看具体的情况来定,然后呢,杠我们的NN,然后杠杠X,杠VV,那后边呢,来写我们要减轻的一个端口叫。Part啊叫21,我们要监听的什么呢?21端口这个呢,不管是我们的这种。哪两种工作模式,不管是我们的主动模式还是被动模式,它的一个数据,呃呃,命令信道用的都是我们的21端口,而数据信道可能会根据我们的一个模式的不同,可能会选择20,或者说是我们指定的那那个地方,我们不管,我们现在由于是登录过程,所以说它的一个嗯,命令。
07:19
传输端口还是二一,然后呢,And。指定下面的IP host,比如说数,就是数据包来自于哪里,那我们Windows去连接Linux测试的话,我们Windows作为客户端,我们Windows的IP地址是192.168.88.1。注意啊,这个地方Windows的ID是8.1啊,那这个呢,网卡呢,是当我们在安装vmware这个虚拟机的时候,这个虚拟机为我们的Windows创建的一个虚拟网卡的APP。OK,那就是这么一个东西了,OK,我们让它监听着,那这个时候呢,我们来找一下Windows的测试工具啊。
08:01
就是我们的这个叫fire,叫zilla这个工具,我们这个工具来连接一下我们的服务器,那也就说这个就是连接服务器是到底用哪种模式,呃,其实用哪种模式都行,就是我们可以用匿名登录,也可以用,呃本地用户登录,也可以用虚拟用户登录,其实都可以,这个地方我们可以测一下,比如说我们用虚拟账户来登录一下。那首先呢,来填一下我们服务器的目标地址。这是8810对应的客,呃账户名呢,我们的虚拟用户,之前在做实验的时候,我们用的是A1这个账户,所以我们就写A1可以了,密码是123456。然后端口呢,是21端口,然后直接连接就可以了。然后呢,这个时候会有个提示啊,这个是我们这个,呃,远程连接工具,就是这个客户端工具,它一个特性啊,该服务器不支持ftpo t ls就不支持加密啊,如果要继续您的密码和文件将通过。
09:02
什么互联网明文传输,看这个地方直接就给了你一个启示,或明文传输无所谓,这个东西无所谓,我们本来就是测一下是不是会铭文,所以说就无所谓了,你就确定。OK,那这个时候你会发现我们已经登录到服务器了,左边呢是我们的Windows的一个。左边是Windows的一个列表,而右边呢,是我们的远程站点的一个列表,比如说咱们登录成功了,这个时候我们也可以上传一些我们的文件,我们也可以上传一些我们的文件,比如说我们找一下我们的笔记,随便找一个,嗯,课堂笔记十扔进来,OK。我们的文件就传上去了,那OK,那现在啊,我们也不断开,我们来直接找到我们这个。这边抓取到的数据包,抓取到的内容非常多,我们往上翻一翻,从头从开始抓取数据包开始,从这地方我们来找一下,我们找什么呢?就找对应的关键词,找user和password。找user password,那从哪个地方找呢?注意大家从这个位置找就可以了啊,大家从这个位置找可以了,一般情况下我们的账号密码等等信息就在这个地方。
10:05
OK,那我们来找一下对应的user信息。User信息。User and password这个地方告诉我们,Please log in。啊,Please log in要进行登录的话,请使用的账户和密码来登录,OK,我们继续往下走。继续往下找啊,诶找了找到user了,这是我们的user,那user这个地方写的是A1,代表我们客户端登录服务器是用的账户名是A1,那我们再来看一下我们的这个密码,OK,这个地方它又刷新了啊,我们先给它停掉。这个监听就是抓起数据包,我们再回头来再找一下。A12A1,在这个地方我们再来找一下密码,密码毋庸置疑就是password了,OK,在这个地方pass啊pass。然后123456 OK,大家会发现我们抓取到了我们客户端登录服务器时所使用的账户名和密码,那所使用的账号密码,这也就是我们的FTP在没有进行加密的时候的一个铭文传输的一个过程,我们通过这个叫TCP dump的这个命令。
11:19
通过这样的一个选项和这样的一个格式,抓取到了客户端访问服务器时所使用的账户、密码等等信息。啊,那其他的,比如说中间传输的文件的信息,那个文件内容我们是看不到,但是文件名是可以看到,这个呢,我们也不去,就是找这个对应的这个,呃,抓取到的信息了,我们就不一而找了,因为很麻烦,这个你可以自己去过滤一下,咱可以自己,诶其实这有十点T文件。我们就不去一点点找了,但是肯定是能抓取到的,也就代表我们的FTP协议确实是一个以默认以名为方式传输的这么一个协议。OK,好了,这就是我们,呃。
12:00
在讲。FTP加密传输之前的这么一个验证。
我来说两句