MS SQL SERVER TCP/IP通訊協議包

來源:互聯網
上載者:User
 

SQL SERVER 通訊協定包格式 AUTHOR: bluestn VERSION: 1.0 背景說明:本通訊協定包格式為非官方公布的協議,微軟並沒有公布SQL SERVER 的TCP/IP的通訊協定包格式,而是為了擴充SQL SERVER應用所進行的通過包分析工具分析得到的,其完整性和可靠性值得進一步的完善。  包頭格式:SQL SERVER採用命令/響應的方式進行通訊。無論命令/響應包,其基本的包頭格式如下: struct t_SQLServerTcpPackageHead{       WORD   wCmdID;                                 // 二位元組的包命令ID       WORD   wPackageLen;                           // 整個包的長度       DWORD dwUnknown;                            // 未知四位位元組的欄位};  wCmdID   有以下幾種類型:0x 0112 :  串連請求包0x0104 :  響應包0x0110 :  ODBC方式的登入包(採用加密驗證方式)0x0002 :  OLEDB方式的登入包(採用明碼驗證方式)0x0101:   發送資料庫查詢指令包0x0102:   未知0x0000: 對應0x0002方式,在OLEDB方式登陸包發出後由伺服器響應  wPackageLen 按照網路位元組順序來發送,共兩個位元組,也就是說最大的SQLSERVER 通訊協定包為65535位元組。   幾個特定命令類型包的格式 ODBC方式的登入包(採用加密驗證方式)命令ID為:0x0110 從第2C位元組開始,指示了包中所包含的串連參數所需要的各個欄位在包中的位移值+欄位長度資訊。如果其中的位移值相對於包頭第0位元組來計算,需要進行修正,加上8。其中明文欄位部分都是採用Unicode編碼方式。從第2C位元組開始,依次指定了如下欄位:1、 用戶端主機名稱2、 登入所使用的使用者名稱3、 登入使用的加密密碼4、 登入使用的代理名5、 未知6、 登入使用的應用程式名稱7、 未知8、 未知        OLEDB方式的登入包(採用明碼驗證方式)命令ID為:0x0002        從第8位元組開始,用ANSI方式編碼,依次是:1、 主機名稱(最長30個位元組),不足30個位元組用0x00補足30位,接下去一位表示本欄位的長度(不包括補零部分)。2、 登入所使用的使用者名稱(最長30個位元組),不足30個位元組用0x00補足30位,接下去一位表示本欄位的長度(不包括補零部分)。3、 登入使用的未加密密碼(最長30個位元組),不足30個位元組用0x00補足30位,接下去一位表示本欄位的長度(不包括補零部分)。4、 未知5、 登入使用的代理名(最長63個位元組),不足63個位元組用0x00補足63位,接下去一位表示本欄位的長度(不包括補零部分)。       OLEDB方式的響應包命令ID為: 0x0104。訊息體採用ANSI方式編碼。對於登入響應錯誤資訊包,格式如下: 從第8位元組開始依次欄位為;1、    未知(1位元組)2、    訊息長度(2位元組),從本欄位開始。3、    錯誤編號4、    錯誤層級+狀態(4位元組)5、    訊息長度(2位元組),僅僅包括訊息檔案資訊的長度。6、    訊息資訊(ANSI編碼的文本),以 00 00 00 00 結尾。7、    固定的FD 02 00 00  00 00 00 00  ODBC方式的響應包命令ID為: 0x0104。訊息體採用UNICODE方式編碼。對於登入響應錯誤資訊包,格式如下: 從第8位元組開始依次欄位為;1、    未知(1位元組)2、    訊息長度(2位元組),從本欄位開始。3、    錯誤編號4、    錯誤層級+狀態(4位元組)5、    訊息長度(2位元組),僅僅包括訊息檔案資訊的長度(指UNICODE字串的長度)。6、    訊息資訊(ANSI編碼的文本),以 00 00 00 00 結尾。7、    固定的FD 02 00 00 00 00 00 00 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.