摘要:

本文主要讲述如何熟练使用Packet Tracer工具,分析抓到的应用层协议(包含DNS、FTP, DHCP, stmp, pop3,TFTP,Telnet)数据包,深入理解应用层协议,包括语法、语义、时序。

 

1.个人信息

  • 姓名:黄勋

  • 学号:201821121104

  • 班级:计算1814

2.建立网络拓扑结构

 

 

 

 网络拓扑结构图如上图所示,该网络拓扑图共由一台PC端(PC0)以及一台服务器(Server0)构成,采用了客户/服务器(client/server)应用模型,且二者为连接状态。

3.应用层协议的网络参数配置、抓取与分析

  3.1 DNS

    (1)配置参数

      PC端IP地址为:192.168.1.104

      DNS Server为:192.168.1.105

      Server端IP地址为:192.168.1.105

      Server端DNS Service:On

      Server端域名为:xun.huang,地址为:192.168.1.105如下列图所示:

      

      

      

    (2)抓包并分析抓到的数据包

      抓取到的DNS数据包如下:

       

       其中前两个数据包为请求报文,后两个数据包为响应报文,请求报文和响应报文核心内容如下

       请求报文:

       

       分析:PC0用户端向Server0服务端发送请求报文,请求域名为xun.huang的IP地址。

       其中xun为二级域名,huang为一级域名。

       TTL记录了生存时间,即缓存中资源记录的过期时间,记录了该报文过期时间为86400。

       响应报文:

       

        分析:服务端Server0向用户端PC0发送了响应报文,报文指出域名为xun.huang的对应的IP地址为192.168.1.105。

        TTL记录了生存时间,即缓存中资源记录的过期时间,记录了该报文过期时间为86400。

    (3)实验中产生的疑问

        在完成实验的时候,域名是按照格式随意取的,那如果域名是否会重名冲突?并且域名与IP地址一一对应,当域名基数大的时候查询的时候时间的消耗会不会过大?

  3.2 FTP

    (1)配置参数

      客户端(PC0)的IP地址为:192.168.1.104,服务端(Server0)的IP地址为:192.168.1.105(见3.1中图)

      本次实验使用的FTP网络参数用户名为:cisco,密码为cisco,如下图:

      

    (2)抓包并分析抓到的数据包

      FTP是文件传输协议,本次实验我们使用Cisco Packet Tracer的默认用户cisco来进行操作。

      首先点开PC0用户端的Desktop中的command Prompt,接着输入ftp 192.168.1.105连接服务端Server0

      然后输入用户名:cisco以及密码:cisco成功登陆。如下图所示:

      

      分析:

      

       当输入ftp 192.168.1.105的时候,PC0用户端发出请求报文连接Server0服务端,服务端返回响应报文(如上图所示),该响应报文包含了一条Message:Welcome to PT Ftp server。同时这句话显示在command上面,表示连接成功

       

        当输入cisco用户名的时候,PC0用户端发出请求报文将用户名:cisco发送给Server0服务端,服务端返回响应报文(如上图所示),该响应报文包含了一条Message:Username OK,need password。同时这句话显示在command上面,表示用户名正确,并要求用户输入密码。

        

         当输入cisco密码的时候,PC0用户端发出请求报文将密码:cisco发送给Server0服务端,服务端返回响应报文(如上图所示),该响应报文包含了一条Message:Logged in。同时这句话显示在command上面,表示密码正确,用户成功登陆。然后就可以开始操作。

        

         当指令quit,PC0用户端发出请求报文把quit退出指令给Server0服务端,服务端返回响应报文(如上图所示),该响应报文包含了一条Message:Service closing control connection。同时这句话显示在command上面,表示用户成功断开连接。

  3.3 DHCP

      (1)配置参数

        服务端(Server0)的IP地址为:192.168.1.105,配置DHCP中Service为On,默认处理对客户端分配的IP地址从192.168.1.1开始,如下图所示:

        

        PC0用户端的配置只需选择IP configuration下的IP configuration状态从Static转为DHCP,如下图:

        

        然后即可看见PC0端的IP地址变为了192.168.1.1(见上图中IP Address)

      (2)抓包并分析抓到的数据包

        DHCP的抓包中抓到以下数据包(由于操作重复,数据包有重复):

         

        分析:

        

         从上图返回的响应报文中可以看出来:Server0服务端为PC0客户端动态分配了为192.168.1.1的IP地址。

         其中:

         YOUR CLIENT ADDRESS:192.168.1.1表示返回了192.168.1.1的IP地址分配给PC0用户端。

         SERVER ADDRESS:192.168.1.105表示Server0服务端的地址,即成功为PC0用户端分配地址的服务端。

      (3)实验中产生的疑问

         1.DHCP为IP地址动态分配协议,当有用户端放弃IP地址的时候,是会优先考虑被放弃的IP地址还是按顺序继续往下分配IP地址。

         2.响应报文的DHCP数据包中CLIENT ADDRESS应当是客户端地址,为何显示为0.0.0.0?

  3.4 smtp和pop3

    (1)配置参数

      1.Server0服务端的配置:

      先将Server0端的IP地址设置为:192.168.1.105然后添加3个Address均为192.168.1.105的域名,用户名见下图:

      

      然后在Services下的email添加Domain Name均为hx.com的两个User用户:

      User:pc,password:pc

      User:server,password:server

      如下图所示:

      

      2.PC0用户端的配置:

      首先将上一步DHCP中PC0用户端的IP地址改回192.168.1.104。再配置PC0端中configure mail中的:

      Your Name:pc

      Email Address:pc@hx.com

      Incoming Mail Server:pop3.hx.com

      Outgoing Mail Server:smtp.hx.com

      User name:pc

      Password:pc

      如下图所示:

      

      然后点击Save。

      最后点击Compose,发送邮件,邮件主体内容如下:

      

    (2)抓包并分析抓到的数据包

      STMP和POP3抓取到的数据包如下:

        

 

      分析:

        我们选取响应报文的数据包进行分析(如下图):

        

        其中src-ip 就是指负载均衡的时候选路依据源ip地址,表示只要源地址是192.168.1.105就走对应路径。

        dst-ip 这个依据目的ip地址。只要目的地址是192.168.1.104就走对应路径。

        TTL记录了生存时间,即缓存中资源记录的过期时间,记录了该报文过期时间为128。

    (3)实验中产生的疑问

      在完成实验的过程中为何并未能抓取到POP3的数据包?

      并且在实验过程中,由于好奇我未将IP地址从之前DHCP分配的192.168.1.1改为192.168.1.104,结果显示发送失败。为何会需要IP地址对应?发送邮件不是只需要对应的To地址正确即可吗?

  3.5 TFTP

    这层协议只能算是对FTP的进一步拓展吧,可以获得客户端TFTP中的文件。

    TFTP是简单文件传送协议。

    (1)配置参数

      同FTP中参数配置相同,详见3.2FTP

      

      在PC0端的cmd窗口下进行如上操作,即可进行文件传送。

      最终也能在PC0端下的TFTP Service下看到传送的文件,如下图:

      

  3.6 Telnet

     (1)配置参数

        1:配置VLAN 1 的IP地址:

        Switch>enable

        Switch#configure terminal

        Switch(config)#interface vlan 1

        Switch(config-if)#ip address 192.168.1.105 255.255.255.0

        2:开启vlan 1

        Switch(config)#interface vlan 1

        Switch(config-if)#no shutdown

        3:配置交换机本地登录的口令

        Switch#configure terminal

        Switch(config)#enable password 123

        4:开启交换机远程登录及验证

        Switch#configure terminal

        Switch(config)#line vty 0

        Switch(config-line)#password 123

        Switch(config-line)#login local
        5:添加可远程登录交换机的用户

        Switch(config-line)#exit

        Switch(config)#username aker password 123

     (2)抓包并分析抓到的数据包

        在 PC0 中测试

        

 

        Ping交换机

        

        Telent+交换机IP后依次输入用户名、密码、本地登录密码

        

 

        过程中抓取到的Telnet数据包如下:

        

        其中登陆请求报文如下:

        

        

        

        

        上面4个数据包的TELNET DATA分别包含了username:aker中的各个字母。

        

 

         密码的请求报文也是如此,TELNET DATA包含密码:123的各个数字(只上传了一张数据包)

      (3)实验中产生的疑问

        在完成实验TELNET协议的抓包的时候,开启Constant Delay,发现username以及password的数据包都是每输入一个字符进行一次请求,为何不能等输入结束按下回车的时候直接发送字符串,这样不是更高效吗?