网络系统设计与工程
(三) TCP/IP协议分析
浙江大学计算机学院
邱劲松
TCP/IP协议分析
? 本节内容
– Ethereal软件介绍
– 通过 Ethereal捕获网络包
– 分析捕获数据,深入探查 TCP/IP协议
Ethereal软件介绍
? 免费的开源产品,可捕获和分析局域网的数据包
? 下载地址,www.ethereal.com
? 本课件使用的版本,0.99
? 运行环境
– Windows
– Linux
– Solaris
? 需要的组件
– Winpcap运行库(自动安装)
捕获 Ethernet包
目的网卡地址
源网卡地址
网络层协议类型(值 >1500)
捕获 LLC帧
目的 MAC(网卡)地址
源 MAC(网卡)地址
数据长度( <1500,表示是 802.3帧)
目的 SAP地址
源 SAP地址
I/G| DSAP C/R| SSAP 控制( 1或 2bytes) 数据(变长) LLC帧格式,
高层协议为生成树协议
捕获 ARP包
ARP请求
查询对象的 IP地址
请求者的 IP地址
请求者的 MAC(网卡)地址
目的 MAC(网卡)地址填写广播地址
网络层协议类型( ARP)
ARP响应包
目的 MAC(网卡)地址填写请求者地址
ARP响应 响应者的 MAC(网卡)地址
响应者的 IP地址
捕获 IP包
IP数据包格式
高层协议类型
源、目的 IP地址
IP协议版本
捕获 DNS包
DNS查询请求
DNS服务端口
DNS服务器地址
DNS查询内容,www.zju.edu.cn
DNS查询项目:地址
地址类型,Internet
DNS查询响应
DNS查询响应
DNS查询请求内容
DNS查询结果
DNS查询响应(续)
DNS查询结果(详细)
主控的名字服务器(管理域名的服务器)
名字服务器地址
域名
选此开始设置捕获包的参数 选择网络接口 选择混杂模式 设置过滤器
点此开始捕获
点此停止捕获
显示当前捕获的包类型分布
已捕获的该类型包个数
已捕获的该类型包所占比例
捕获到的
包列表
数据包
头解析
选此开始捕获包
原始数据包字节
选此进行分析 设置显示过滤条件 选此进行统计
捕获 HTTP数据包
3,输入网址
1,设置捕获过滤器
仅捕获 TCP包,端口 80
2,开始捕获
4,当网页全部显示完毕后,关闭 IE,
点击 Stop按钮停止捕获
时间 源地址 目的地址 协议 数据包摘要
TCP连接请求包
(SYN=1)
TCP包头
TCP连接应答包
(SYN=1,ACK=1)
TCP连接确认包
(SYN=0,ACK=1)
(第 3次握手)
HTTP GET / (请求默认主页)
网页主机地址
要求服务器保持连接
HTTP协议分为头和体 2部分,头由多个字段组成,每个字段以 \r\n结尾,头和体之间
以 \r\n分割,因此,碰到 2个连续的 \r\n意味着头部结束,体部开始
TCP层的发送序号
TCP层对 HTTP GET请求的接收确认
TCP层的确认序号为接收的最后一个字节的序号
=2372913240+223
( HTTP GET请求有 223个字节)
服务器对 HTTP GET请求的响应
HTTP 请求成功
HTTP 包体的长度
HTTP 包体的类型(文本 /HTML格式)
HTTP 包体(当包体长度大于一个 IP
包可容纳的最大数据长度时,分多个
包传递)
服务器对 HTTP GET请求的响应(续)
由于 HTTP响应包太大,TCP层自动分了多个 IP包传输
浏览器得到第一个页面后,自动从指定的 URL获取内嵌的其他图片等资源
HTTP GET请求,获得指定 URL文件
服务器主机名
建立新的 TCP连接
(到其他服务器)
所有数据传输完毕后,关闭 TCP连接
任何一方可以发出连接关闭请求,但需要双方都发出关闭连接请求后才真正关闭
关闭连接请求
(FIN=1)
对关闭 TCP连接请求的确认
确认收到了对方关闭
连接的请求 (ACK=1)
TCP连接复位
连接复位( RST=1)
确认收到了对方关闭连接的请求 (ACK=1)
连接关闭请求时的最后发送序号
确认序号
追踪 TCP流 点鼠标右键后,选此从多个捕获的包中还原 TCP流
还原后的双向 TCP流
应答的 TCP流
请求的 TCP流
点此将 TCP流存成文件
点此选择显示哪个方向的 TCP流
分析 RTP流 点鼠标右键后,选此按照指定协议格式解析捕获的包
选择按 RTP协议解析
分析 RTP流
选此进行流分析
流分析界面
正向流 反向流
点此将流保存为指定格式的文件
(保存后可用其他工具播放)
播放保存的 RTP流文件
(三) TCP/IP协议分析
浙江大学计算机学院
邱劲松
TCP/IP协议分析
? 本节内容
– Ethereal软件介绍
– 通过 Ethereal捕获网络包
– 分析捕获数据,深入探查 TCP/IP协议
Ethereal软件介绍
? 免费的开源产品,可捕获和分析局域网的数据包
? 下载地址,www.ethereal.com
? 本课件使用的版本,0.99
? 运行环境
– Windows
– Linux
– Solaris
? 需要的组件
– Winpcap运行库(自动安装)
捕获 Ethernet包
目的网卡地址
源网卡地址
网络层协议类型(值 >1500)
捕获 LLC帧
目的 MAC(网卡)地址
源 MAC(网卡)地址
数据长度( <1500,表示是 802.3帧)
目的 SAP地址
源 SAP地址
I/G| DSAP C/R| SSAP 控制( 1或 2bytes) 数据(变长) LLC帧格式,
高层协议为生成树协议
捕获 ARP包
ARP请求
查询对象的 IP地址
请求者的 IP地址
请求者的 MAC(网卡)地址
目的 MAC(网卡)地址填写广播地址
网络层协议类型( ARP)
ARP响应包
目的 MAC(网卡)地址填写请求者地址
ARP响应 响应者的 MAC(网卡)地址
响应者的 IP地址
捕获 IP包
IP数据包格式
高层协议类型
源、目的 IP地址
IP协议版本
捕获 DNS包
DNS查询请求
DNS服务端口
DNS服务器地址
DNS查询内容,www.zju.edu.cn
DNS查询项目:地址
地址类型,Internet
DNS查询响应
DNS查询响应
DNS查询请求内容
DNS查询结果
DNS查询响应(续)
DNS查询结果(详细)
主控的名字服务器(管理域名的服务器)
名字服务器地址
域名
选此开始设置捕获包的参数 选择网络接口 选择混杂模式 设置过滤器
点此开始捕获
点此停止捕获
显示当前捕获的包类型分布
已捕获的该类型包个数
已捕获的该类型包所占比例
捕获到的
包列表
数据包
头解析
选此开始捕获包
原始数据包字节
选此进行分析 设置显示过滤条件 选此进行统计
捕获 HTTP数据包
3,输入网址
1,设置捕获过滤器
仅捕获 TCP包,端口 80
2,开始捕获
4,当网页全部显示完毕后,关闭 IE,
点击 Stop按钮停止捕获
时间 源地址 目的地址 协议 数据包摘要
TCP连接请求包
(SYN=1)
TCP包头
TCP连接应答包
(SYN=1,ACK=1)
TCP连接确认包
(SYN=0,ACK=1)
(第 3次握手)
HTTP GET / (请求默认主页)
网页主机地址
要求服务器保持连接
HTTP协议分为头和体 2部分,头由多个字段组成,每个字段以 \r\n结尾,头和体之间
以 \r\n分割,因此,碰到 2个连续的 \r\n意味着头部结束,体部开始
TCP层的发送序号
TCP层对 HTTP GET请求的接收确认
TCP层的确认序号为接收的最后一个字节的序号
=2372913240+223
( HTTP GET请求有 223个字节)
服务器对 HTTP GET请求的响应
HTTP 请求成功
HTTP 包体的长度
HTTP 包体的类型(文本 /HTML格式)
HTTP 包体(当包体长度大于一个 IP
包可容纳的最大数据长度时,分多个
包传递)
服务器对 HTTP GET请求的响应(续)
由于 HTTP响应包太大,TCP层自动分了多个 IP包传输
浏览器得到第一个页面后,自动从指定的 URL获取内嵌的其他图片等资源
HTTP GET请求,获得指定 URL文件
服务器主机名
建立新的 TCP连接
(到其他服务器)
所有数据传输完毕后,关闭 TCP连接
任何一方可以发出连接关闭请求,但需要双方都发出关闭连接请求后才真正关闭
关闭连接请求
(FIN=1)
对关闭 TCP连接请求的确认
确认收到了对方关闭
连接的请求 (ACK=1)
TCP连接复位
连接复位( RST=1)
确认收到了对方关闭连接的请求 (ACK=1)
连接关闭请求时的最后发送序号
确认序号
追踪 TCP流 点鼠标右键后,选此从多个捕获的包中还原 TCP流
还原后的双向 TCP流
应答的 TCP流
请求的 TCP流
点此将 TCP流存成文件
点此选择显示哪个方向的 TCP流
分析 RTP流 点鼠标右键后,选此按照指定协议格式解析捕获的包
选择按 RTP协议解析
分析 RTP流
选此进行流分析
流分析界面
正向流 反向流
点此将流保存为指定格式的文件
(保存后可用其他工具播放)
播放保存的 RTP流文件