当前位置:
文档之家› 基于Ethereal的网络协议分析
基于Ethereal的网络协议分析
TCP/IP的传输层有2个不同的协议袁 即用户数 据报协议渊UDP冤和传输控制协议渊TCP冤遥 通过网络层 的分析袁 判断该数据包在传输层使用了TCP协议遥 TCP以TCP报文段渊Segment冤为协议数据单元袁 提供可 靠的尧 面向连接的字节流传输服务遥 从图1的包细 节窗口中查看TCP报文段的首部信息渊长度20字节冤袁 用16 进制表示为院
- 42 -
万方数据
黄筱燕 基于Ethereal的网络协议分析
图 1 捕获的实时数据包
2 网络协议分析 数据包是TCP/IP协议通信传输中的数据单位袁
在不同的协议层袁 将根据所采用的协议封装成相应 协议数据单元(PDU)遥 对数据包进行协议分析的过程 就是一条从协议树根结点到某个叶子结点的路径[1]袁 自数据链路层向应用层根据各层协议标识和端口号来 逐层判断所封装的协议袁 协议分析流程见图2遥
据帧的目的地址袁 用以截获网上的任何帧)袁 其他选项可 采用默认设置袁 再单击Start按钮即可实时截获数 据包遥
用Ethereal捕捉到的实时网络数据包的部分截 图见图1遥 所截获的数据包分别在包列表(Packet List)尧 包 细 节 渊Packet Details 冤 和 包 字 节 (Packet Bytes)三栏窗口中显示遥 其中上栏的包列表窗口按 截获的时间顺序显示出数据包的基本信息院 编号 渊代表收到数据包的次序冤尧 时间尧 源地址尧 目的地址尧 协议名称以及关于此数据包的摘要信息曰 中间栏的 包细节窗口以树形显示当前数据包在各协议层的封 装细节袁 包括首部和数据曰 下栏的包字节窗口则以 十六进制和ASCII码显示被截获数据包的详细内容袁 左边一栏显示偏移量袁 中间一栏显示十六进制数 值袁 右边一栏显示解码后相对应的字符渊控制字符显
00 14 05 15
d2 39 4e 79
7e 08 ee 0d
50 18 ff ff
2e f2 00 00
TCP报文段固定首部格式如图5遥
比特 0
数据 偏移
8
16
源端口
序号
确认号
UA P R
保留 R C S S
GKHT
检验和
24
31
目的端口
SF YI NN
窗口 紧急指针
图 5 TCP报文段固定首部格式
Network Protocol Analysis Based on Ethereal
HUANG Xiaoyan (College of Information Science & Technology, Hainan University, Danzhou, Hainan 571737)
Abstract Real-time network packets were captured through Ethereal, and actually unpacked for analysis according to the TCP/IP network protocol analysis flow, so as to allow network researchers to have a perceptual knowledge about the data packets and provide a technical method for the network protocol analysis. Key words protocol analysis 曰 Ethereal 曰 packet
31 32 33 34 35 36 37袁 经Ethereal解码分析袁 其 此数据包传输的数据内容为 野This is a test... abcdefg... 1234567冶遥 Ethereal不但可以对捕捉 到的数据包进行协议分析袁 还可以分析数据包所携
带的数据内容遥 此外袁 Ethereal还可截获用户的帐 号及密码等机密信息袁 由此可见Ethereal强大的截 取与分析功能遥
通过技术手段捕获数据包并加以分析袁 追踪数 据包在TCP/IP各层的封装过程袁 对于网络协议的研 究具有重要的意义遥 Ethereal是当前较为流行的尧 图形用户接口的抓包软件袁 它以开源尧 免费尧 操作 界面友好等优点广为世界各地网络研究人员使用袁 为网络协议分析搭建了一个良好的研究平台遥
1 捕获实时网络数据 Ethereal适用于当前所有较为流行的计算机系
统袁 包括Unix尧 Linux和Windows袁 它的操作界面美 观友好袁 可以对实时显示捕获的数据包进行统计与 分析袁 帮助网管员了解网络的运行状况袁 网络研究 人员研究网络协议袁 对网络性能有一个准确的把 握遥 安装完Ethereal后袁 单击Capture下的Options 菜单袁 打开捕获选项对话框袁 设置好捕捉接口 渊interface冤和过滤器(capture filter)袁 设置混杂模 式渊promiscuous mode冤选项(此选项使得网卡并不检验数
分析得出院 TCP源端口为0x 00 14(20)袁 端口号 20是FTP协议数据传输的保留端口袁 根据图2判断应 用层协议标志表明应用层使用的是FTP协议曰 目的 端口号0x 05 15 渊1301冤袁 此端口是FTP用户端的端口号曰 报文段序号为0x d2 39 4e 79袁 它等于本次连接的 初始序号加上报文第1个字节在整个数据流中的序 号袁 因此袁 包细节窗口显示了相对于建立连接的初 始握手序列号的相对值1(图1)袁 图中的下一序列号 34就意味着数据区长度是33字节曰 同理确认号0x 7e 08 ee 0d袁 其相对值也为1曰 标志位0x 00 18指 示ACK标志为1袁 表明确认号有效袁 PSH为1表示接收 方将数据不做缓存袁 将接收到的数据立即传输给应 用层曰 窗口字段为0x ff ff袁 表明接收的最大窗口 为65 535字节袁 这个字段用于流量控制曰 校验和字 段为0x 2e f2袁 该字段对首部和数据进行二进制反 码求和运算袁 结果再求一次反码所得袁 用于检验
比特
0
4
版本
首部长度
标识
生存时间
8
16
服务类型
标志
协议
源IP地址
目的IP地址
19
24
31
总长度
片偏移
首部检验和
图 4 IP数据报首部格式
由图4分析此数据报信息院 版本号为4袁 即 IP层使用的是IPv4的版本曰 报头长度5个单位渊20字 节冤曰 服务类型字段0x 00表示是普通数据报曰 数据 报总长度字段0x 00 49袁 为73字节曰 标识为0x 10 a5袁 当数据报需要分片传送时袁 这个字段用来指出 接收到的数据片属于哪一个数据报曰 标志字段4表 示该报文未分片曰 片偏移为0曰 生存时间0x 7e袁 即 126 hop曰 协议字段0x 06袁 根据图2判断传输层协 议标志表明传输层使用的是TCP协议袁 即IP层封装 了TCP报文段 渊Segment冤曰 首部校验和字段0x da e7袁 在IP层仅对首部进行检验袁 经检验首部数据无误曰 源IP地址是d2 25 33 1a 渊210.37.51.26冤袁 目的IP地 址为d2 25 39 bd 渊210.37.57.189冤遥 2.3 传输层
- 43 -
万方数据
2009 年 2 月
热带农业工程
第 33 卷第 1 期
即此帧封装了IP数据报遥 2.2 网络层
在TCP/IP体系结构中袁 到达网络层的数据被封 装成IP数据报渊Packet冤遥 从图1的包细节窗口中查看 IP数据报的首部信息袁 用16进制表示为院
IP数据报首部格式见图4遥
45 00 00 49 10 a5 40 00 7e 06 da e7 d2 25 33 1a d2 25 39 bd
万方数据
- 45 -
基于Ethereal的网络协议分析
作者: 作者单位: 刊名:
英文刊名: 年,卷(期): 引用次数:
黄筱燕, HUANG Xiaoyan 海南大学信息科学技术学院,海南儋州,571737
热带农业工程 TROPICAL AGRICULTURAL ENGINEERING 2009,33(1) 0次
2009 年 2 月 Feb援 圆园园9
栽砸韵孕陨悦粤蕴 粤郧砸陨悦哉蕴栽哉砸AL ENGINEERING
第 33 卷第 1 期 灾燥造援33熏 晕燥援1
基于Ethereal 的网络 协议分 析 淤
黄筱燕②
渊海南大学信息科学技术学院 海南儋州 571737冤
摘 要 通过Ethereal捕捉实时网络数据包袁 并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际 解包分析袁 让网络研究人员对数据包的认识上升到一个感性的层面袁 为网络协议分析提供技术手段遥 关键词 协议分析 曰 Ethereal 曰 数据包 中图分类号 TP393.04
判断传输层协议标志
11 UDP协议分析
06 TCP协议分析
01 ICMP协议分析
字节
6
目的MAC地址
6 源MAC地址
2 46~1 500 4 类型 数据 FCS
图 3 以太网V2 MAC帧格式
判断应用层协议标志
20/21 FTP协议分析
80 HTTP协议分析
Baidu Nhomakorabea
23 Telnet协议分析
图 2 协议分析流程
的应用[J].计算机技术与发展袁 2007袁 17(2)院 239~241 2 蒋 波袁 李方军袁 郝 军.数据包的截获与网络协议分
析[J].重庆三峡学院学报袁 2006袁 22(3)院 26~27 3 谢 希 仁 . 计 算 机 网 络 [M]. 北 京 院 电 子 工 业 出 版 社 袁
2006
3 结语 通过对Ethereal实际捕捉的数据包进行各个协
议层的分析袁 让网络研究人员直观地认识数据包及 所使用的网络协议遥 Ethereal强大的数据捕捉与分 析功能袁 为解决网络问题尧 测试安全问题尧 网络协 议研究与分析提供了强有力的技术支持遥
参考文献 1 蔡 敏袁 叶 震袁 徐吉斌.协议分析技术在入侵检测中
在TCP/IP体系结构中袁 到达局域网数据链路层 的数据被封装成MAC帧 渊Frame冤,最常用的MAC帧是以 太网V2的标准[2]遥 从图1的包细节窗口中查看MAC帧 的首部信息袁 用16进制表示为院
00 19 b9 75 e2 0b 00 e0 63 53 f0 75 08 00
以太网V2 MAC帧格式见图3遥
从图3可知院 根据数据链路层以太网协议袁 可 以获取此帧的目的MAC地址(1~6字节)为00 19 b9 75 e2 0b曰 源MAC地址 (7~12字节)为00 e0 63 53 f0 75曰 帧的类型渊13~14字节冤为0x 08 00袁 根据图2判 断网络层协议标志可知袁 网络层采用的是IP协议袁
示为1个点冤遥
① 基金项目院 华南热带农业大学校基金资助(NO.RND06023) 收稿日期院 2008-12-16 责任编辑/白 净 E-mail: rngcrngc3@gmail.com
② 黄筱燕(1972~)袁 女袁 汉族袁 讲师袁 硕士曰 主要研究方向院 计算机网络技术与应用尧 网络性能分析遥
- 44 -
万方数据
黄筱燕 基于Ethereal的网络协议分析
TCP报文段袁 目的是为上层提供可靠的服务曰 URG标 志为0与紧急指针为0x 00 00袁 表示该报文段为非 紧迫数据遥 2.4 应用层
TCP/IP的传输层与应用层通过应用层接口处的 端口进行通信遥 因特网指派名字和号码公司渊ICANN冤 分配给一些常用的应用进程固定使用的熟知端口院 如FTP的20/21端口尧 TELNET的23端口尧 SMTP使用的 25端口尧 HTTP的80端口尧 DNS的53端口等等遥 根据 图2对传输层源端口号的分析袁 得知使用的是20端 口袁 即应用层采用文件传输协议(FTP)进行数据传输遥 从图1的包细节窗口中查看应用层报文的信息袁 用 16进制表示为54 68 69 73 20 69 73 20 61 20 74 65 73 74 2e 0d 0a 61 62 63 64 65 66 67 0d 0a
以太帧
判断网络层协议标志
0806 ARP协议分析
0800 IP协议分析
0835 RARP协议分析
当应用层的报文通过TCP/IP网络协议栈到达物 理层传输时袁 各层协议都在数据包上封装一个报 头遥 下面以实际捕捉的编号为24的数据包 (图1包列 表窗口选中的数据包)为例袁 自底向上分析各层的网络 协议[2]遥 2.1 数据链路层