: .
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=)
(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=PRESPAWNED SERVER)
(SERVICE_ID=BBB99B99999B-99BB-B999-B99BB9999B99)(CLASS=ORACLE)(VERSION=81500)
(ADDRESS=(PROTOCOL=tcp)
(HOST=)(PORT=$port)));
ORACLETNS协议分析 来自淘豆网m.daumloan.com转载请标明出处.