谁了解Oracle下的TNS协议

wwwljc 2009-04-01 09:25:30
最近在研究Oracle下的TNS协议,需要对每个数据包进行详细的分析。但是一直找不到好的资料,希望各位大侠多多赐教呀
...全文
560 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
add_oil 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuyiye 的回复:]
data部分看不太懂啊,楼上几位分析的怎么样了,现在有解析出来的吗 我目前正在解析可惜 找不到data部分的偏移量 有知道的请指点下 谢谢了
[/Quote]

对data部分谁理解过的
liuyiye 2010-08-23
  • 打赏
  • 举报
回复
data部分看不太懂啊,楼上几位分析的怎么样了,现在有解析出来的吗 我目前正在解析可惜 找不到data部分的偏移量 有知道的请指点下 谢谢了
Charlie_Shu 2009-11-16
  • 打赏
  • 举报
回复
data部分看不太懂啊,楼上几位分析的怎么样了,有什么进展发篇技术文档来看看
wwwljc 2009-05-08
  • 打赏
  • 举报
回复
最近发现,直接通过抓包工具看各字段的含义倒是一个好方法,各位可以参考下。
wwwljc 2009-04-20
  • 打赏
  • 举报
回复
恩,我想知道的是更详细的信息。比如,TNS认证过程需要传输40多个数据包,其中一些包是什么作用我还不清楚
Tomac 2009-04-13
  • 打赏
  • 举报
回复
TNS (Transparance Network Substrate,透明网络底层)协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协议、使用SSL (Secure Sockets Layer)的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文传送。这里我们只分析基于TCP/IP协议上的TNS数据。

TNS协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据传输使用不同的请求数据类型。对于通常意义的查询操作一般使用数据类型,当出现错误或其他情况时可能使用其他类型。在分析过程中发现以下类型数据:

查询语句出错会用标记(marker)类型

客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型

客户机登陆会发送连接类型,而服务器返回一个重定向类型数据

当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯.

TNS数据包含一个通用的包头,有通用包头、连接包、接受包、拒绝包、重定向包、标记包、控制包(没有该结构)、数据包等八种包。客户端对数据库的操作主要是通过数据包来完成,数据包有一个2字节的状态包和多个命令包组成,命令有主命令和次命令,所有对数据库的操作都是通过主命令和子命令的组合来完成的。(而且现在已知的主命令19条)。TNS协议中数据传输主要用一个标志和长度字符来传输数据,具体采用两种数据结构。

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧