原帖地址:http://www.itpub.net/341654.html
1. TNS Connect 建立连接
Packet Length
报文长度 2 BYTE
Packet Checksum
报文Checksum 2 BYTE (保留)
TNS Packet Type
TNS报文类型 1 BYTE (0x01 表示Connect 建立连接)
Packet Flags
报文Flags 1 BYTE
Header Checksum
TNS头Checksum 2 BYTE (保留)
NS Version Number
版本号 2 BYTE
Compatible with Version
兼容的版本号 1 BYTE
Global Service Options 1
服务选项1 1 BYTE 其中用到6Bit标志位
[0]0000000 0[0]000000
None None
保留 保留
00[0]00000 000[0]0000
No Broken Connect Notify No Packet Checksum
断开连接的消息 是否有报文Checksum
0000[0]000 00000[0]00
No Header Checksum Not Full Duplex
是否有头Checksum 是否全双工
000000[0]0 0000000[0]
Not Half Duplex Don’t Care
是否半双工 保留
Global Service Options 2
服务选项2 1 BYTE 其中用到5Bit标志位
[0]0000000 0[0]000000
Don’t Care None
保留 保留
00[0]00000 000[0]0000
None Not Redirect I/O to transport
保留 重定向I/O输入输出
0000[0]000 00000[0]00
Attention Processing Can’t rcv Attention
进程监视 是否接受监视消息
000000[0]0 0000000[0]
Can’t send Attention None
是否发送监视消息 保留
SDU Size
SDU尺寸 2 BYTE
TDU Size
TDU尺寸 2 BYTE
NT Protocol Characteristicsl 1
协议特性1 1 BYTE 其中用到8Bit标志位
[1]0000000 0[0]000000
Hangon to Listener Connection Not comfirmed release
挂起Listen连接 是否释放
00[1]00000 000[0]0000
TDU I/O Base Spawner is not running
是否基于TDU传输 是否存在子报文
0000[0]000 00000[0]00
Not a data test Callback I/O not supported
是否为数据测试 I/O回收支持
000000[1]0 0000000[0]
Asnychronous I/O Supported I/O is packet oriented
I/O异步支持 I/O向导
NT Protocol Characteristicsl 2
协议特性2 1 BYTE 其中用到8Bit标志位
[0]0000000 0[0]000000
Can’t to grant connection another Can’t hangoff connection to another
是否准许其他的连接 是否不挂起其它的连接
00[0]00000 000[0]0000
Don’t generate SIGIO singnal Don’t generate SIGPIPE singnal
是否产生SIGIO信号 是否产生SIGPIPE信号
0000[1]000 00000[0]00
Generate SUGURG singnal Urgent data I/O not supported
产生SUGURG信号 是否支持紧急数据I/O
000000[1]0 0000000[0]
Full duplex I/O supported Not a test operation
全双工I/O支持 是否为一个测试的操作
Max packets before receive expected
期待接受前最大的报文数 2 BYTE
Hardware ‘1’ encoding
硬件标志编码 2 BYTE
Connect data length
连接用数据段的长度 2 BYTE
Offset start to connect data
数据段起始的偏移地址 2 BYTE
Maxinum connect data receivable
最大的连接数据段尺寸 4 BYTE
Connect flag 0
连接标志1 1 BYTE 其中用到5Bit标志位
[0]0000000 0[0]000000
None None
保留 保留
00[0]00000 000[0]0000
None NA Services not required
保留 是否为请求NA服务
0000[0]000 00000[0]00
NA Services are linked in Enable NA Services
NA服务是否已连接 此连接是否允许NA服务
000000[0]0 0000000[1]
Interchange is not involved Want to NA Services
异常交换 是否需要NA服务
Connect flag 1
连接标志2 1 BYTE 其中用到5Bit标志位
[0]0000000 0[0]000000
None None
保留 保留
00[0]00000 000[0]0000
None NA Services not required
保留 是否为请求NA服务
0000[0]000 00000[0]00
NA Services are linked in Enable NA Services
NA服务是否已连接 此连接是否允许NA服务
000000[0]0 0000000[1]
Interchange is not involved Want to NA Services
异常交换 是否需要NA服务
Cross Facility Item 1 4 BYTE
Cross Facility Item 2 4 BYTE
Unique Connection ID
唯一的连接ID 8 BYTE
None
保留字段 8 BYTE
Connect Data
连接数据段 (明文,可变长)
比如:
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.0.1)
(PORT=1521)
)
(CONNECT_DATA=
(SERVICE_NAME=DEMO)
(CID=
(PROGRAM=C:/ORA81/BIN/SQLPLUS.EXE)
(HOST=CLIENTHOST)
(USER=Administrator)
)
)
)
可能存在 COMMAND=DEBUG