传输层协议分析-TCP和UDP协议基本分析
实验目的及要求
1.理解TCP/IP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的过程。
2.捕获UDP报文并分析数据报结构。
实验内容
1.应用TCP应用程序传输文件,截取TCP报文首部信息、TCP连接的建立和释放过程、TCP数据传输中编号与确认的过程。
2.TFTP使用UDP和服务器通信,捕获UDP报文并分析数据报结构
1). 打开wireshark监听网卡
2). 访问川师大主页 www.sicnu.edu.cn
3). 停止抓取报文并分析报文,截取TCP报文首部信息
源端口:64293
目的端口:443
序号:1 (本报文段所发送的数据的第一个字节的序号)
确认号:1 (期望收到对方下一个报文段的第一个数据字节的序号)
首部长度:20字节
六个控制位(标志)
终止FIN:用来释放一个连接。当FIN=1时,此报文段的发送方的数据已发送完毕,并要求释放运输连接。
确认ACK:用于表明确认号有效。当ACK=1时确认号字段才有效;当ACK=0时确认号无效。在连接建立后所有传送的报文段都必须把ACK置1.
复位RST (Reset):用于重置连接。当RST=1时,必须释放连接,然后再重新建立运输连接。
窗口:用于控制流量大小
校验和:用于校验TCP首部和数据。
同步SYN:用来建立一个连接。当SYN=1,ACK=0时,这是一个连接请求报文段;若对方同意建立连接,则在响应的报文段中使SYN=1,ACK=1.
紧急指针:紧急指针的内容是紧急数据,指出了紧急数据的末尾在报文段中的位置。
推送PSH (PuSH):用于立即发送。当PSH=1时,发送方立即创建一个报文段发送出去,接收方立即交付接收应用进程。
紧急指针:紧急指针的内容是紧急数据,指出了紧急数据的末尾在报文段中的位置。
4). TCP连接的建立的过程(三次握手)
第一次握手时,客户端会向服务器发送一个含有SYN标志的TCP报文。
第二次握手时,服务器会向客户端发送一个带有SYN和ACK标志的TCP报文,并附上了序号和确认号。
第三次握手,客户端向服务器发送带有ACK标志的TCP报文,并附上序号和确认号。
5). TCP连接的释放以及TCP数据传输中编号与确认的过程(四次挥手)
第一次挥手,服务器向客户端发送一个带有FIN和ACK标志的TCO报文,并附带上序号和确认号,服务器先断开连接。
第二次挥手,客户端向服务器发送一个带有ACK标志的报文。
第三次挥手,客户端向服务器发送一个带有FIN和ACK标志的TCO报文,并附上序号和确认号。
第四次挥手,服务器向客户端发送一个带有ACK标志的报文,并带上序号和确认号。
TFTP使用UDP和服务器通信,捕获UDP报文并分析数据报结构
1). 打开wireshark监听网卡
2). 访问川师大主页 www.sicnu.edu.cn
3). 停止抓取报文并分析报文,过滤DNS协议,DNS协议的下层使用的是UDP协议,点击查看UDP报文
源端口:62453
目的端口:53
UDP用户数据报的长度:55
校验和 (用于校验UDP首部和数据):0x8da4
初步了解TCP/IP的主要协议和协议的层次结构。
应用层:各种应用层协议如:TELNET、FTP、SMTP等
运输层:TCP或UDP
网际层:IP协议
网络接口层:Ethernet V2标准
ARP协议分析实验:
通过截获位于同一网段和不同网段的主机之间执行ping命令时所产生的报文,分析ARP协议报文结构,了解ARP报文在地址解析过程中,各域的变化值。并分析ARP协议在同一网段内不和不同网段间的解析过程,了解ARP协议经过网关后实现地址解析的过程。
(1) 打开终端,输入arp -d用来清空ARP缓存表
(2)打开WireShark开始抓包,过滤ARP报文
(3)抓取ARP报文
分析:
a.对ARP报文进行过滤,从上往下是数据包的大小和接口
b.数据链路层:
目的Mac地址:ff:ff:ff:ff:ff:ff(因不知道目的Mac地址,所以采用广播的模式对局域网内的所有设备发送请求包)
源Mac地址:C2:94:C2:66:09:2F
c.ARP请求包标志为1
发送Mac地址:00:0c:29:5d:2f:65
发送者IP地址:192.168.43.169
目标Mac地址:00:00:00:00:00:00(由于目标Mac地址不知道,所以全部为0)
目标IP地址:192.168.43.121.
响应包:
d.在同一网段内,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
e.不在同一网段内。不同网段的主机通信时,主机会封装网关(通常是路由器)的mac地址,然后主机将数据发送给路由器,后续路由进行路由转发,通过arp解析目标地址的mac地址,然后将数据包送达目的地。
实验收获
理解了TCP/IP报文首部格式和字段的作用,TCP连接的建立和释放的过程,TCP数据传输中编号与确认的过程。学会了查看UDP报文并分析数据报结构。通过对数据链路层数据报的抓取,了解到数据是如何在信道上传递的。对mac地址有了进一步的理解,了解到mac地址和ip地址的区别及其作用层次,以及mac和ip地址之间的转换arp协议(分别在同一网段和不同网段上)。