目录
实验:WireShark数据包分析
一、实验目的
二、实验环境
三、实验内容与实验要求
四、实验过程与分析
TCP三次握手
第一次握手
第二次握手
第三次握手
UDP
五、实验结果总结
实验:WireShark数据包分析
一、实验目的
1)掌握Wireshark的使用;
2)能够使用Wireshark进行简单的协议分析;
3)掌握TCP三次握手过程。
二、实验环境
Kali-linux-2018.1-amd64
WireShark Network Analyer (Version 2.4.5)
三、实验内容与实验要求
1)了解Wireshark和基本使用方法
2)使用Wireshark分析TCP的三次握手
3)对UDP协议进行分析,分析UDP与TCP有什么不同?
四、实验过程与分析
运行WireShark
选择抓包网卡(eth1),开始抓包
设置过滤规则
TCP三次握手
浏览器访问测试网页[192.168.1.154]
在wireshark中输入http过滤, 然后选中GET / HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream", 这样做的目的是为了得到与浏览器打开网站相关的数据包,点击close,将得到如下图:
成功抓取到TCP三次握手过程
图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的,
这说明HTTP的确是使用TCP建立连接的。
第一次握手
客户端发送的TCP报文中以[SYN]作为标志位,并且客户端序号seq=0;
第二次握手
服务器返回的TCP报文中以[SYN,ACK]作为标志位;
并且服务器端序号seq=0;确认号Ack=1(第一次握手:客户端序号seq的值+1)
第三次握手
客户端再向服务器端发送的TCP报文中以[ACK]作为标志位;
其中客户端序号seq=1(第二次握手:中服务器端确认号ack的值),确认号ack=1(第二次握手:中服务器端序号seq的值+1)。
UDP
UDP 是User Datagram Protocol的简称,报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。
基于UDP的协议也有很多,如:DHCP,DNS,SSDP,NTP等
我们对其中的一条DHCP数据包进行分析
可以看到其首部由源端口、目的端口、长度和检验和这四部分组成,其首部组成简单,占用空间小。
TCP与UDP的区别
1、TCP面向连接,在通信之前要进行三次握手,结束要进行四次挥手;UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,无法保证可靠交付
3、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
4、TCP首部开销20字节;UDP的首部开销小,只有8个字节
5、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
五、实验结果总结
本次实验,首先对Wireshark的用法做了基本的了解,之后趁热打铁通过TCP数据包,详细分析和了解了TCP协议的三次握手机制,之后,通过抓去UDP包对UDP协议也做了分析,了解其数据包的组成和特性,最后,综合分析了TCP和UDP的区别。认识到了TCP和UDP各自适用的场景,有些应用场景对可靠性要求不高会用到UPD,比如长视频,要求速率