- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLETNS协议分析
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)类型
客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型
客户机登陆会发送连接类型,而服务器返回一个重定向类型数据
当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯。
TNS数据格式
TNS数据包含一个通用的包头,这个包头包含包校验,包长度和包类型等信息。
不同的类型的数据实现不同功能的数据传输。
Common Packet Header
8
通用包头
Data
可变
数据
通用包头格式
每个TNS完整数据都包含一个通用包头,他说明接受数据的长度及其相关校验和解析的信息。
Length
2
包的长度,包括通用包头
Packet check sum
2
包的校验和
Type
1
TNS类型
Flag
1
状态
Header check sum
2
通用头的校验和
注:
Length:包长度(包括包头)
Type: 数据包的类型
类型号
类型说明
1
连接(CONNECT)
2
接受(ACCEPT)
3
确认(ACK)
4
拒绝(REFUTE)
5
重定向(REDIRECT)
6
数据(DATA)
7
NULL
8
9
中止(ABORT)
10
11
重新发送(RESEND)
12
标记(MARKER)
13
ATTENTION
14
控制(CONTROL)
连接包结构(0x01)
在客户端和ORACLE要建立连接时,客户端首先发送一个连接结构,然后服务器返回重定向包(参见2.5)。
typedef struct TNS_CONNECT_header{
UCHAR NS_ver[2];
UCHAR Compatible_ver[2];
UCHAR ser_opt1;
UCHAR ser_opt2;
UCHAR SDU_size[2];
UCHAR TDU_size[2];
UCHAR NT_protocol_ch1;
UCHAR NT_protocol_ch2;
UCHAR Max_packets[2];
UCHAR Hardware_1[2];
UCHAR data_length[2];
UCHAR Offset[2];
UCHAR Max_data[4];
UCHAR flag0;
UCHAR flag1;
/*java thin interface has no items and id,
if it is not jdbc thin, use offset to override these
有些版本TNS协议中没有下面几项*/
UCHAR item1[4];
UCHAR item2[4];
UCHAR ID[8];
UCHAR unknown[8];
/*followed by decode_des_conn_data */
//连接字符串
}TNS_CONNECT_HEADER;
连接字符串格式:
连接功能
连接字符串
PING
(CONNECT_DATA=(COMMAND=ping));
SHOW
(CONNECT_DATA=(COMMAND=SHOW LOGFILE));
VERSION
(CONNECT_DATA=(COMMAND=version));
STATUS
(CONNECT_DATA=(COMMAND=STATUS));
ESTABLISH
(CONNECT_DATA=(SID=OBJ_SRVR)
(CID=(PROGRAM=)(HOST=140.211.111.111)
(USER=SOME_USER)));
ESTABLISH_REAL_DB
(CONNECT_DATA=(SID=wouprd)
(CID=(PROGRAM=)(HOST=spruce.ous.edu)
(
您可能关注的文档
- HAY-素质模型的建立及应用.ppt
- HDTV_SoC集成芯片的总线设计与验证.doc
- hEGF在化妆品中美白延缓衰老功效的探索.doc
- HG522-c路由设置方法.doc
- HHF-1300.1600钻井泵用户手册.doc
- HomePNA调制EoC ---以太网同轴接入解决方案_Rover0810.ppt
- HondaDIO官方维修手册.doc
- How to improve service quality to increase customer satisfaction in Shanghai Everbright International Hotel-,酒店管理论文.doc
- HP LaserJet 1020Plus打印机使用说明.doc
- HP-RDP快速部署使用说明.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- Zkteco中控智慧万傲瑞达V6000_2.0.0用户手册(停车CS岗亭端).pdf
- 2023-2024学年江苏省淮安市清江浦区三校八年级(上)期中数学试卷.doc VIP
- 要拿我当一挺机关枪使用.docx
- 母婴三病培训.pptx VIP
- 管理信息系统题目_带答案.doc
- 《汽车侧面气囊和帘式气囊模块性能要求GBT+38795-2020》详细解读.pdf
- 初中班主任工作经验交流精美PPT课件.ppt VIP
- 探放水工考试卷及答案 .docx
- 【申论】公务员考试辅导·笔试系统讲义(2025国考版).docx
- 2023-2024学年江苏省淮安市盱眙县八年级(上)期中检测英语试卷(附答案详解).pdf VIP
文档评论(0)