2024年3月25日发(作者:)

一、实验目的:

1、通过wireshark进行TCP报文抓包,分析TCP连接的三次握手以及关闭TCP

2、利用wireshark分析ICMP报文

3、利用ping测试网络联通性:1)ping 本机回环地址

2)ping本机ip地址

3)ping 网关ip

4)ping 远程ip

通过这几项可以检查网络是不是通的,以及如果不通,网络的问题出在哪

熟悉ping的参数的使用;

4、traceroute测试,同理(3)

二、实验原理

1、TCP握手协议

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个

连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入

SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自

己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV

状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包

ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完

成三次握手。

还要再发送一次确认是为了,防止已失效的连接请求报文段突然又传到了B,因

而产生错误。

已失效的报文段:正常情况下:A发出连接请求,但因为丢失了,故而不能收到

B的确认。于是A重新发出请求,然后收到确认,建立连接,数据传输完毕后,

释放连接,A发了2个,一个丢掉,一个到达,没有“已失效的报文段”

但是,某种情况下,A的第一个在某个节点滞留了,延误到达,本来这是一个早

已失效的报文段,但是在A发送第二个,并且得到B的回应,建立了连接以后,

这个报文段竟然到达了,于是B就认为,A又发送了一个新的请求,于是发送

确认报文段,同意建立连接,假若没有三次的握手,那么这个连接就建立起来了

(有一个请求和一个回应),此时,A收到B的确认,但A知道自己并没有发送

建立连接的请求,因为不会理睬B的这个确认,于是呢,A也不会发送任何数

据,而B呢却以为新的连接建立了起来,一直等待A发送数据给自己,此时B

的资源就被白白浪费了。但是采用三次握手的话,A就不发送确认,那么B由

于收不到确认,也就知道并没有要求建立连接。

三、实验过程

1、TCP连接