ORACLETNS协议分析
1 TNS介绍
TNS协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协
议、使用SSL的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文
传送。这里我们只分析基于TCP/IP协议上的TNS数据。
ORACLE网络通讯协议TNS有许多版本,并且大部分向下兼容,我们主要 oracle
9.2.0.1.0客户和服务间的传输协议,他的协议版本号为312,其兼容到300。
TNS协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据传
输使用不同的请求数据类型。对于通常意义的查询操作一般使用数据类型,当出现错误或
其他情况时可能使用其他类型。在分析过程中发现以下类型数据:
查询语句出错会用标记(marker)类型
客 户 端 向 服 务 器 请 求 失 败 ( 如 不 存 在 的 服 务 I D) , 服 务 器 会 发 送 拒 绝
(refuse)类型
客户机登陆会发送连接类型,而服务器返回一个重定向类型数据
当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数
据,然后能够正常通讯。
2 TNS数据格式
TNS数据包含一个通用的包头,这个包头包含包校验,包长度和包类型等信息。
不同的类型的数据实现不同功能的数据传输。
Common Packet Header 8
通用包头
Data 可变 数据
评论5
最新资源