TCP传输控制协议分析

简介:

 实验四   TCP传输控制协议分析

一、实验目的

掌握TCP协议的报文形式;掌握TCP连接的建立和释放过程;掌握TCP数据传输中编号与确认的过程;理解TCP重传机制。

二、准备工作

本实验需要下载安装抓包工具软件(SnifferWinshairk或网路岗或其它)。

三、实验内容及步骤

步骤一:设定实验环境
安装serv-u

步骤二:查看分析TCP三次握手

1、在PC2中安装FTP服务端程序。

2、在PC1中开启协议分析软件,进行数据包抓包。

3、在PC1中的协议分析软件中利用工具栏中的TCP连接工具对PC2发起连接

IP地址中填入PC2地址192.168.168.31,端口填入FTP服务端口21,然后点击连接。

分析PC2中捕获到的三次握手报文。

 

 

 

TCP三次握手过程中第一个报文

 

TCP三次握手过程中第二个报文

 

 

 

 

 

 

TCP三次握手第三个报文

 

步骤三:查看分析TCP确认机制

1、在PC1中开启协议分析软件进行数据包捕获。

2、在PC1协议分析软件工具栏中的TCP连接工具中连接到PC2FTP服务器并发送dir命令。

3、分析捕获到的FTP数据包

步骤四:查看TCP连接超时重传过程

1、查看PC1ARP缓存记录,确保有PC2ARP记录,如下图所示。

2、将PC2从网络中断开,确保PC2不会对PC1发送的TCP连接请求进行回应。

 

 

 

3、在PC1中开启协议分析软件,进行数据包捕获。

4、在PC1中用工具栏中的TCP连接工具对PC2FTP服务发起连接,如下图所示。

 

5、在PC1中分析捕获的TCP数据段。

 

 

四、实验数据分析

       从图中我们可以看出,首先由我ip192.168.168.30,向ftp服务器的ip192.168.168.31发出请求,192.168.168.31接到192.168.168.30请求后发出回应,尔后192.168.168.30在发出确认信息,192.168.168.30192.168.168.31就可以通信。

       在图中,可知

       192.168.168.30端口是55166

       192.168.168.31端口是21

       在前面的“三次握手”后192.168.168.30可以登录到192.168.168.30。由于我们用的是IE浏览器登录就可以不要dir打开命令了。在目录中我们可以看到FTP空间里的文件,可以复制到192.168.168.30上,此时是通过TCP协议来完成的。

       由于我们没有使用FTP工具登录,所以下载文件是不能进行断点或超时重传的实验,不过我们可以通过别的下载软件例如QQ旋风。我们首先联网下载一个文件,下载到一定程度后断网,就可以抓包到qq旋风不断发出请求连接,但一定数据后(可以自己调整请求次数)就停止发出请求。

 

五、实验总结

       本次实验是新加的,不过难度很大。首先要自己搭建FTP空间。由于条件有限,我只能自己搭建了一个让同学来访问。当然这样是有缺点的就是我不能分析ftp的网络协议和数据。

不得不让同学帮我截图。自己搭建的FTP空间有很多限制比如不能使用迅雷、快出、QQ旋风等等下载工具,所以不能做到断点和重传。


本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/800005


相关文章
|
网络协议 C语言
Wireshark lua dissector 对TCP消息包合并分析
Wireshark lua dissector 对TCP消息包合并分析
837 0
|
网络协议
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。
|
网络协议 安全 测试技术
TCP 编程快速入门案例分析 | 学习笔记
快速学习 TCP 编程快速入门案例分析
TCP 编程快速入门案例分析 | 学习笔记
|
监控 网络协议 Java
netstat统计的tcp连接数与⁄proc⁄pid⁄fd下socket类型fd数量不一致的分析
新blog地址: http://hengyunabc.github.io/netstat-difference-proc-fd-socket-stat/ 最近,线上一个应用,发现socket数缓慢增长,并且不回收,超过警告线之后,被运维监控自动重启了。
2053 0
|
监控 网络协议 NoSQL
不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密
TCP的开销到底有多大,能否进行量化。一条TCP连接的建立需要耗时延迟多少,是多少毫秒,还是多少微秒?能不能有一个哪怕是粗略的量化估计?
646 0
不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密
|
Web App开发 网络协议 架构师
接口协议之抓包分析 TCP 协议
TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 ## 环境准备 对接口测试工具进行分类,可以如下几类: - 网络嗅探工具:tcpdump,wireshark - 代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy - 分析工具:curl,postman,chrome Devtool - ## 抓包分析TCP协
|
Web App开发 网络协议 架构师
接口协议之抓包分析 TCP 协议
TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 ## 环境准备 对接口测试工具进行分类,可以如下几类: - 网络嗅探工具:tcpdump,wireshark - 代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy - 分析工具:curl,postman,chrome Devtool - ## 抓包分析TCP协
|
Web App开发 网络协议 测试技术
接口协议之抓包分析 TCP 协议
接口协议之抓包分析 TCP 协议
|
机器学习/深度学习 JSON 缓存
TCP协议学习笔记、报文分析
TCP(Transmission Control Protocol传输控制协议)协议是基于IP协议,面向连接的、可靠的、基于字节流的传输层通信协议。
TCP协议学习笔记、报文分析
|
Web App开发 网络协议 测试技术
技术分享 | 抓包分析 TCP 协议
tcpdump 是一款**将网络中传送的数据包的“头”完全截获下来提供分析**的工具。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not 等逻辑语句去掉无用的信息。