个人信息:
姓名:钟逸强
学号:201821121092
班级:计算1813
目录
- 1 实验目的
- 2 实验内容
- 3. 实验报告
- 3.1 DNS
- 3.2 FTP
- 3.3 DHCP
- 3.4 smtp和pop3
1 实验目的
熟练使用Packet Tracer工具。分析抓到的应用层协议数据包,深入理解应用层协议,包括语法、语义、时序。
2 实验内容
使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS、FTP, DHCP, stmp, pop3。步骤包含:
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
3. 实验报告
(1)建立网络拓扑结构
用一台个人PC机和服务器组成的小型局域网络。
3.1 DNS
(1)配置参数
客户端的IP地址:192.168.1.92
服务端的IP地址:192.168.1.93
域名:zyq.com
(2)抓包并分析抓到的数据包
请求报文:
解析:NAME为查询名:zyq.com的域名;TYPE为查询类型:4 指的是MF,邮件转发器(被废弃,使用MX);
CLASS查询类:1 为Internet类;
TTL为生存时间:指明其它DNS服务器在期满放弃该记录信息之前对其缓存多长时间。86400表示一天的时间;
Length:资源数据长度;
应答报文:
解析:NAME为查询名:zyq.com的域名;TYPE为查询类型:4 指的是MF,邮件转发器(被废弃,使用MX);
CLASS查询类:1为Internet类,代表IN。表示RDATA的类
TTL为生存时间:指明其它DNS服务器在期满放弃该记录信息之前对其缓存多长时间。86400表示一天的时间,一天86400秒;
Length:资源数据长度为4;
服务器DNS返回的域名IP地址为192.168.1.93;
(3)通过该实验产生新的疑问及解答
DNS是如何解析域名的?
我是这样理解的:当我们在浏览器中输入域名的时候,浏览器会在自身缓存搜索该域名的信息,找不到再在电脑的操作系统中查找域名,依然找不到,浏览器就会向域名服务器寻求帮助来解析这个域名,请求先向LDNS(本地域名服务器),当它解析不了的时候,就会向根域名服务器寻求帮助,根域名查询并返回主域名服务器的地址,再返回域名对应的Name Server域名服务器,查询域名对应的IP地址,然后再返回给用户。
3.2 FTP
(1)配置参数
server端
客户端的IP地址:192.168.1.92
服务端的IP地址:192.168.1.93
服务端FTP的username: cscio , passport: cscio
(2)抓包并分析抓到的数据包
pc端指令
响应报文:
代码220表示:服务器准备就绪;
响应报文:
代码331表示:用户名正确,需要密码;
响应报文:
代码230表示:用户已经注册完毕;
3.3 DHCP
(1)配置参数
server端
PC端
(2)抓包并分析抓到的数据包
pc端的IP地址发生变化:
请求报文:
解析:
op为报文类型:1为请求报文;
HW TYPE: 硬件地址类型,1表示10Mb/s的以太网的硬件地址
HW LEN: 硬件地址长度,以太网中该值为6
HOPS: 跳数。客户端设置为0,也能被一个代理服务器设置。
Transaction ID:事务ID,随机数,有客户端生成,服务器Reply时,会把Request中的Transaction拷贝到Reply报文中
SECS: 表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数
FLAGS:0x00000000000000000000000000008000 标志位,目前仅第一个bit有使用,置1 标明广播,置0标明单播
CLIENT ADDRESS:192.168.1.1 客户端的IP地址;
YOUR CLIENT ADDRESS:192.168.1.1 "你自己的"或客户端的IP地址;
SERVER ADDRESS:192.168.1.93 表明DHCP协议流程的下一个阶段要使用的服务器的IP地址
RELAY AGENT ADDRESS:0.0.0.0 中继器的IP地址;
CLIENT HARDWARE ADDRESS:00D0.588C.89B9 客户端的硬件地址;
SERVER HOSTNAME (64 BYTES):可选的服务器主机名;
FILE (128 BYTES):启动文件名;
OPTIONS (312 BYTES):可选参数域;
OP:0x3d 换算成十进制是61,表示客户端标识;
LEN:0x3d 同样是61,表示数据长度;
HW:0x1
CLIENT IDENTIFIER (VARIABLE LENGTH):00D0.588C.89B9
响应报文:
解析:
op为报文类型:2为响应报文;
HW TYPE: 硬件地址类型,1表示10Mb/s的以太网的硬件地址
HW LEN: 硬件地址长度,以太网中该值为6
HOPS: 跳数。客户端设置为0,也能被一个代理服务器设置。
Transaction ID:事务ID,随机数,有客户端生成,服务器Reply时,会把Request中的Transaction拷贝到Reply报文中
SECS: 表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数
FLAGS:0x00000000000000000000000000008000 标志位,目前仅第一个bit有使用,置1 标明广播,置0标明单播
CLIENT ADDRESS:192.168.1.1 客户端的IP地址;
YOUR CLIENT ADDRESS:192.168.1.1 "你自己的"或客户端的IP地址;
SERVER ADDRESS:192.168.1.93 表明DHCP协议流程的下一个阶段要使用的服务器的IP地址
RELAY AGENT ADDRESS:0.0.0.0 中继器的IP地址;
CLIENT HARDWARE ADDRESS:00D0.588C.89B9 客户端的硬件地址;
SERVER HOSTNAME (64 BYTES):可选的服务器主机名;
FILE (128 BYTES):启动文件名;
OPTIONS (312 BYTES):可选参数域;
DHCP Domain Name Server Option
OP (选项,不定长度): 6 表示设置DNS服务器地址;
LEN:4 表示value的长度;
DOMAIN NAME SERVER:0.0.0.0 DNS服务器地址;
DHCP Domain Name Option
OP (选项,不定长度): 15 表示设置域名后缀选项;
LEN:0x0 表示value的长度;
DOMAIN NAME: 域名后缀
3.4 smtp和pop3
(1)配置参数
pc端
IP地址设置:
server端
DNS设置:
发送邮件
(2)抓包并分析抓到的数据包
SMTP的包:
解析:
SOURCE PORT:25 服务器端口;
DESTINATION PORT:1025 客户端端口;
SEQUENCE NUMBER:1 相对序列号,该数据包的相对序列号为1;
ACKNOWLEDGEMENT NUMBER: 1 是32位确认序列号,值等于1表示数据包收到,确认有效;
WINDOW: TCP的流量控制由连接的每一端通过声明的窗口大小来提供,16384表示窗口大小为16384字节
SMTP Data表示协商成功,开始发送邮件;
邮件发送成功;
POP3的包:
解析:
SOURCE PORT:110 服务器端口;
DESTINATION PORT:1027 客户端端口;
SEQUENCE NUMBER:1 相对序列号,该数据包的相对序列号为1;
ACKNOWLEDGEMENT NUMBER: 1 是32位确认序列号,值等于1表示数据包收到,确认有效;
WINDOW: TCP的流量控制由连接的每一端通过声明的窗口大小来提供,16384表示窗口大小为16384字节;
Data表示协商成功,开始接收邮件;
邮件接收成功;
SMTP与POP3运行机制:
客户端发送邮件,由SMTP通过TCP建立连接发送邮件,经过一些命令协商,服务器允许与客户端建立连接,通过pop3建立TCP连接接收邮件,释放TCP,邮件发送成功;
参考资料:
[1] 结合Wireshark捕获分组深入理解TCP/IP协议栈
[2] 结合Wireshark捕获分组深入理解TCP/IP协议栈之HTTP协议