最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

!通过连接实例解读TCPIP协议

IT圈 admin 43浏览 0评论

2024年7月18日发(作者:虢梅红)

通过连接实例解读TCP/IP协议

最近狂补基础,猛看TCP/IP协议。不过,书上的东西太抽象了,没有什么数据实例,

看了不 久就忘了。于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,

理解得 比较快。我就来灌点基础知识。

开始吧,先介绍IP协议。

IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,ICMP,IGMP

数据都是按照IP数据格式发送得。IP协议提供的是不可靠无连接得服务。IP数据包由一个

头部和一个正文部分构成。正文主要是传输的数据,我们主要来理解头部数据,可以从其理

解到IP协议。

IP数据包头部格式(RFC791)

Example Internet Datagram Header

上面的就是IP数据的头部格式,这里大概地介绍一下。

IP头部由20字节的固定长度和一个可选任意长度部分构成,以大段点机次序传送,从

左到 右。

TCP协议

TCP协议(TRANSMISSION CONTROL PROTOCOL)是传输层协议,为应用层提供服务,和

UDP不同的是,TCP协议提供的可靠的面向连接的服务。在RFC793中是基本的TCP描述。关

于TCP协议的头部格式内容的说明:

TCP Header FORMat

TCP Header FORMat

跟IP头部差不多,基本的长度也是20字节。TCP数据包是包含在一个IP数据报文中

的。

好了,简单介绍到此为止。来看看我捕获的例子吧。这是一次FTP的连接,呵呵,是

cuteftp默认的cuteftp的FTP站点,IP地址是:216.3.226.21。我的IP地址假设

为:192.168.1.1。下面的数据就是TCO/IP连接过程中的数据传输。我们可以分析TCP/IP

协议数据格式以及TCP/IP连接的三次握手(ThreeWay-Handshake)情况。下面的这些十六

进制数据只是TCP/IP协议的数据,不是完整的网络通讯数据。

第一次,我向FTP站点发送连接请求(我把TCP数据的可选部分去掉了)

192.168.1.1->216.3.226.21

IP头部: 45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15

TCP头部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00

来看看IP头部的数据是些什么。

第一字节,“45”,其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL

位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为12,IP头部的最大长

度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没

有发送可选部分数据。

接下来的一个字节“00”是服务类型(Type of Service)。这个8bit字段由3bit的

优先权子字段(现在已经被忽略),4 bit的TOS子字段以及1 bit的未用字段(现在为0)

2024年7月18日发(作者:虢梅红)

通过连接实例解读TCP/IP协议

最近狂补基础,猛看TCP/IP协议。不过,书上的东西太抽象了,没有什么数据实例,

看了不 久就忘了。于是,搬来一个sniffer,抓了数据包来看,呵呵,结合书里面得讲解,

理解得 比较快。我就来灌点基础知识。

开始吧,先介绍IP协议。

IP协议(Internet Protocol)是网络层协议,用在因特网上,TCP,UDP,ICMP,IGMP

数据都是按照IP数据格式发送得。IP协议提供的是不可靠无连接得服务。IP数据包由一个

头部和一个正文部分构成。正文主要是传输的数据,我们主要来理解头部数据,可以从其理

解到IP协议。

IP数据包头部格式(RFC791)

Example Internet Datagram Header

上面的就是IP数据的头部格式,这里大概地介绍一下。

IP头部由20字节的固定长度和一个可选任意长度部分构成,以大段点机次序传送,从

左到 右。

TCP协议

TCP协议(TRANSMISSION CONTROL PROTOCOL)是传输层协议,为应用层提供服务,和

UDP不同的是,TCP协议提供的可靠的面向连接的服务。在RFC793中是基本的TCP描述。关

于TCP协议的头部格式内容的说明:

TCP Header FORMat

TCP Header FORMat

跟IP头部差不多,基本的长度也是20字节。TCP数据包是包含在一个IP数据报文中

的。

好了,简单介绍到此为止。来看看我捕获的例子吧。这是一次FTP的连接,呵呵,是

cuteftp默认的cuteftp的FTP站点,IP地址是:216.3.226.21。我的IP地址假设

为:192.168.1.1。下面的数据就是TCO/IP连接过程中的数据传输。我们可以分析TCP/IP

协议数据格式以及TCP/IP连接的三次握手(ThreeWay-Handshake)情况。下面的这些十六

进制数据只是TCP/IP协议的数据,不是完整的网络通讯数据。

第一次,我向FTP站点发送连接请求(我把TCP数据的可选部分去掉了)

192.168.1.1->216.3.226.21

IP头部: 45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15

TCP头部:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00

来看看IP头部的数据是些什么。

第一字节,“45”,其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL

位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为12,IP头部的最大长

度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没

有发送可选部分数据。

接下来的一个字节“00”是服务类型(Type of Service)。这个8bit字段由3bit的

优先权子字段(现在已经被忽略),4 bit的TOS子字段以及1 bit的未用字段(现在为0)

发布评论

评论列表 (0)

  1. 暂无评论