下载此文档

ORACLE-TNS协议分析.doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
Forpersonaluseonlyinstudyandresearch;mercialuseORACLE协议分析TNS介绍 TNS协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协议、使用SSL的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文传送。这里我们只分析基于TCP/IP协议上的TNS数据。 ORACLE网络通讯协议TNS有许多版本,并且大部分向下兼容,我们主要oracle,他的协议版本号为312,其兼容到300。 TNS协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据传输使用不同的请求数据类型。对于通常意义的查询操作一般使用数据类型,当出现错误或其他情况时可能使用其他类型。在分析过程中发现以下类型数据:查询语句出错会用标记(marker)类型客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型客户机登陆会发送连接类型,而服务器返回一个重定向类型数据当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯。TNS数据格式 TNS数据包含一个通用的包头,这个包头包含包校验,包长度和包类型等信息。monPacketHeader8通用包头Data可变数据通用包头格式 每个TNS完整数据都包含一个通用包头,他说明接受数据的长度及其相关校验和解析的信息。Length2包的长度,包括通用包头Packetchecksum2包的校验和Type1TNS类型Flag1状态Headerchecksum2通用头的校验和注: Length:包长度(包括包头) Type:数据包的类型类型号类型说明1连接(CONNECT)2接受(ACCEPT)3确认(ACK)4拒绝(REFUTE)5重定向(REDIRECT)6数据(DATA)7NULL89中止(ABORT)1011重新发送(RESEND)12标记(MARKER)13ATTENTION14控制(CONTROL)连接包结构(0x01) 在客户端和ORACLE要建立连接时,客户端首先发送一个连接结构,然后服务器返回重定向包()。typedefstructTNS_CONNECT_header{UCHARNS_ver[2];patible_ver[2];UCHARser_opt1;UCHARser_opt2;UCHARSDU_size[2];UCHARTDU_size[2];UCHARNT_protocol_ch1;UCHARNT_protocol_ch2;UCHARMax_packets[2];UCHARHardware_1[2];UCHARdata_length[2];UCHAROffset[2];UCHARMax_data[4];UCHARflag0;UCHARflag1;/*javathininterfacehasnoitemsandid,ifitisnotjdbcthin,useoffsettooverridethese有些版本TNS协议中没有下面几项*/UCHARitem1[4];UCHARitem2[4];UCHARID[8];UCHARunknown[8];/*followedbydecode_des_conn_data*///连接字符串}TNS_CONNECT_HEADER;连接字符串格式:连接功能连接字符串PING(CONNECT_DATA=(COMMAND=ping));SHOW(CONNECT_DATA=(COMMAND=SHOWLOGFILE));VERSION(CONNECT_DATA=(COMMAND=version));STATUS(CONNECT_DATA=(COMMAND=STATUS));ESTABLISH(CONNECT_DATA=(SID=OBJ_SRVR)(CID=(PROGRAM=)(HOST=(USER=SOME_USER)));ESTABLISH_REAL_DB(CONNECT_DATA=(SID=wouprd)(CID=(PROGRAM=)(HOST=(USER=some_user)));SERVICE_REGISTER(CONNECT_DATA=(COMMAND=service_register)(LOAD=0)(MAXLOAD=1)(INSTANCE_LOAD=0)(INSTANCE_MAXLOAD=0)(SHUTDOWN_NOTIFY=ON)(FLAGS=0)(SERVICE=obj_srvr)(INFO=PID$COLON$pid)(DISPLAY=PRESPAWNEDSERVER)(SERVICE_ID=BBB99B99999B-99BB-B999-B99BB9999B99)(CLASS=OR

ORACLE-TNS协议分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人乘风破浪
  • 文件大小307 KB
  • 时间2019-03-13