music,code,dialog,rest
分类: 系统运维
2007-11-07 12:55:32
本文描述如何客户化基于Wireshark的Radius字典。
目前发源于Ethereal的协议分析工具有如下几种:
1 Packetyzer Win32Lib Windows GUI,Ethereal核心
2 Ethereal本身 目前已经停止开发
3 Wireshark 是Ethereal的后继项目,由Ethereal原作者维护
在Ethereal(0.10.3以上,推荐0.99 或直接上Wireshark)装完后,一般来说在程序主目录有Radius目录,目录下存放的是Radius的协议字典文件。
其中,Dictionary是Radius主字典文件,其他是被Dictionary包含进去的各大厂商或组织的特定协议字典文件。
所以当我们先用文本编辑器打开dictionary文件后,可以发现其实是这些文件是FreeRadius格式的文件。
现在,我就来解释一下Radius字典文件的组成和含义。通过这个说明,你将有能力使用基于Ethereal核心开发的网络协议分析器,根据自定义的Radius协议/或各个厂商更新的协议规范,对新的Radius协议进行正确灵活地分析。
首先,我们观察dictionary文件头上的注释可以发现,Radius插件作者对当前支持的Radius数据类型进行的声明。像下面提到的这些就是。
# string - 0-253 octets
# ipaddr - 4 octets in network byte order
# integer - 32 bit value in big endian order (high byte first)
. . .
"#" : 接下来,我们可以看到在行头“井”符号标志表示的是 此行为的注释行,Ethereal启动装载字典时,会忽略掉此行。
$INCLUDE : 是命令,将包含该命令所指向的字典文件的内容。
ATTRIBUTE : 是radius协议字段的定义数据记录。此行一般有多个子列用来对协议字段进行定义。
列1: ATTRIBUTE 字段定义命令
列2: 字段名称 是和列3定义的字段代码对应的字段名称,是ethereal用来显示协议字段标签
列3: 字段代码 十进制格式的字段代码
列4: 字段数据类型 一般只能用作者在注释中声明过的数据类型名称来指定数据类型。
列5: 字段处理方式 为可选项,可以填入厂商名称,或加密表达式等。
VENDOR : Radius协议的厂商标识定义数据记录。这个字段的数据列定义如下:
列1: VENDOR 字段定义命令
列2: 厂商名称 和厂商代码对应的厂商名称,这个名称可以被属性中的列5(字段处理方式)引用。
列3: 厂商代码 该厂商的代码。
VALUE : Radius协议的字段值定义,Ethereal用此项数据来对字段值打上标签。
列1: VALUE 字段定义命令
列2: 字段名称 在枚举所有可能的值时,该字段名称可以被重复列出多次。
列3: 值标签 和特定值对应的标签。
列4: 特定值 引用字段的一个特定值。
Zenith