姓名:韩博
学号:201821121115
班级:计算1814
1 实验目的
熟练使用Packet Tracer工具。分析抓到的应用层协议数据包,深入理解应用层协议,包括语法、语义、时序。
2 实验内容
使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS、FTP, DHCP, stmp, pop3。步骤包含:
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
3. 实验报告
建立网络拓扑结构
使用pc机和服务器建立如下网络拓扑结构,按照实验一配置IP地址。
3.1 DNS
(1)配置参数
配置PC端的IP地址
配置服务器的IP地址
设置服务器域名
配置完成后,可以通过访问域名(bo.han)达到直接访问地址的效果
(2)抓包并分析抓到的数据包
DNS QUERY是PC端向服务器发送的请求报文。
DNS ANSWER是服务器向PC端发送的相应报文。
NAME是PC端想要访问的域名,一般2字节或不定长。
TYPE是查询类型,“1”是由域名获得IPv4地址;“2”是查询域名服务器。
CLASS是查询类,通常是1,表示Internet信息。
TTL是生存时间,以秒为单位,表示的是资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间,它同时也可以表明该资源记录的稳定程度,极为稳定的信息会被分配一个很大的值(比如86400,这是一天的秒数)。
LENGTH是资源数据长度。
黄色区域是资源数据,长度不固定。
(3)通过该实验产生新的疑问及解答
问题:DNS的解析过程是怎么样的?
解答:
1.当应用过程需要将一个主机域名映射为IP地址时,就调用域名解析函数,解析函数将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器;
2.本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回;
3.同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发;
4.若域名服务器不能回答该请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。
3.2 FTP
(1)配置参数
PC机和服务器的IP地址不变。服务器的FTP协议(文件传输协议)默认为开启状态,并且有初始化的用户名(cisco)和密码(cisco),这里使用默认设置。
打开PC端的Desktop栏下的Command Prompt,输入ftp 192.168.1.116(表明用户要在这个地址上使用FTP协议),之后再输入用户名和密码
(2)抓包并分析抓到的数据包
服务器响应220表示服务就绪
用户向服务器发送用户名(cisco)
服务器响应 331,表明输入的用户名有效需要输入对应的密码
用户向服务器发送密码(cisco)
服务器响应Logged in,230表示登陆成功
用户输入quit,要求断开连接
服务器响应221,表示推出网络,断开连接
一些常用的FTP响应码:
202:命令没有执行
452:磁盘空间不足
500:无效命令
550:文件不可用
3.3 DHCP
(1)配置参数
先将服务端DHCP服务打开,写入相关数据
再将PC端的IP Configuration的Static切换成DHCP(该图为DHCP请求成功,用户得到的地址为192.168.1.1)
(2)抓包并分析抓到的数据包
请求报文:
响应报文:
OP:报文类型,1是请求报文,2是响应报文。
HW TYPE:硬件地址类型,1表示10Mb/s的以太网的硬件地址;
HW LEN:硬件地址长度,以太网中该值为6;
HOPS:跳数。客户端设置为0,也能被一个代理服务器设置;
SECS:由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数;
FLAGS:标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示server以单播方式传播封包给client,为1表示以广播的方式传播给client;
YOUR CLICENT ADDRESS:192.168.1.1;表示为PC分配的IP地址为192.168.1.1;
SERVER ADDRESS:192.168.1.116;表示服务器的IP地址为192.168.1.116
RELAY AGENT ADDRESS:DHCP中继器的IP地址。//注意:不是地址池中定义的网关
CLIENT HARDWARE ADDRESS:0001.9764.20A4;客户端硬件地址;
SERVE HOSTNAME;可选的服务器主机名,该字段是空结尾的字符串,由服务器填写;
FILE:启动文件名,是一个空结尾的字符串;
OPYIONS:可选参数域,格式为"代码+长度+数据";
(3)通过该实验产生新的疑问及解答
问题1:在整个过程中,请求和响应了好几个报文,过程复杂。那么DHCP的完整过程究竟是什么样的?
解答:
-
DHCP Client发出DHCP Discover报文。
-
DHCP Server会给出响应,向DHCP Client发送一个DHCP Offer报文。
DHCP Offer报文中“Your(Client) IP Address”字段就是DHCP Server能够提供给DHCP Client使用的IP地址,且DHCP Server会将自己的IP地址放在“option”字段中以便DHCP Client区分不同的DHCP Server。DHCP Server在发出此报文后会存在一个已分配IP地址的纪录。
-
DHCP Client会发出DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
-
DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
-
DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。
-
DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
问题2:为什么我在实验过程中,PC机会先发一个DHCP Release的报文呢?
3.4 smtp和pop3
(1)配置参数
先在Server端的DNS中配置好pop3和smtp;
之后再添加Email账户:这里添加两个用户,pc和serve
然后做发邮件之前的准备;这里是登录用户pc,发邮件给serve
编辑邮件
发送之后,显示发送成功
再登录用户serve来接收邮件
显示接收成功
(2)抓包并分析抓到的数据包
smtp的数据包
pop3的数据包
E-mail的传输过程:
计算机通过SMTP协议把用户的邮件发送到用户所属的邮件服务器,邮件服务器根据收件人的地址,将信件传给下一个邮件服务器,收件人通过POP3协议从收件人所属的邮件服务器中提取出邮件。