摘要:
本文主要讲述如何熟练使用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:[email protected]
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的数据包都是每输入一个字符进行一次请求,为何不能等输入结束按下回车的时候直接发送字符串,这样不是更高效吗?