Oracle TNS协议

Oracle10g、Oracle11g、Oracle12g的TNS协议,不对外公开,某些协议解析比较困难。经过艰苦卓绝的调研,部分协议包得到破解:

1)【0x06】-【0x1017】协议——Select返回的列头报文

2)其他协议,将继续

--------------------------------------------------------------------------------------------------------------------------------

(一)通用包头8个字节

Length

2

包的长度,包括通用包头

Packet check sum

2

包的校验和

Type

1

TNS类型

Flag

1

状态

Header check sum

2

通用头的校验和

注:

       Length:包长度(包括包头)

       Type: 数据包的类型

类型号

 

类型说明

1

0x01

连接(CONNECT)

2

0x02

接受(ACCEPT)

3

0x03

确认(ACK)

4

0x04

拒绝(REFUTE)

5

0x05

重定向(REDIRECT)

6

0x06

数据(DATA)

7

0x07

NULL

8

0x08

 

9

0x09

中止(ABORT)

10

0x0a

 

11

0x0b

重新发送(RESEND)

12

0x0c

标记(MARKER)

13

0x0d

ATTENTION

14

0x0e

控制(CONTROL)

(二)数据包Data结构(0x06)——红色字体部分的某些协议解析,隐秘性很高,破解起来难度大

Common Header

8

通用包头

Data flag

2

状态

Command packet

可变

数据

Command packet

可变

数据

Command packet

可变

数据

--------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(C,C++编程,数据库,Oracle,TNS)