日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kitl协议包简述

發布時間:2023/12/15 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kitl协议包简述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

英文版參照網址http://blogs.msdn.com/ce_base/archive/2006/06/27/648747.aspx

下面是翻譯過來的,可能有錯哦,呵呵

KITL概述

KITL——Kernel Independent Transport Layer,CE驅動調試的基本調試協議。KITL提供

1、? 傳輸初始化

2、? 數據流連接和斷開

3、? 數據流包的請求

4、? 丟包、重傳的處理

5、? 給應用程序提供接口

?

首先我們來看看KITL包,了解KITL數據和控制包的區別。這是KITL協議和解決問題的基礎知識。

?

KITL

所有KITL包的格式都一樣,頭部加上數據。頭部定義了包的類型和數據塊。打開一個KITL頭,你會看到

?

1、? 協議標示

固定的字符串:EDBG(45 44 42 47)

?

2、? 流標示

每種KITL流都有一個的字節來保存。有4中預先定義好的流,其他位置保留給應用使用。

0x0:調試消息

0x1:目標控制

0x2:內核調試器

0xff:協議管理的控制流

0x3-0xfe:保留給應用程序使用

?

當一個流通過KITLRegisterClient注冊后,這些流標示,會從KITl傳遞給應用程序。應用使用這些ID通過KITLSend和KITLRecv從特定流中,進行數據包的發送和接受。

?

包類型

一個字節來表示包的類型

0x1:設備發送過來的消息

0x2:這幀是NACK

0x4:這幀是ACK

0x8:重設申請號為零

0x10:相應KITL的控制消息

?

包申請號

定義了一個字節,存放了包申請號,從0到255輪轉。當255的包申請號發送了,那么下一個包申請號就會恢復到數字0。桌面和設備都有自己的申請號,那就允許異步數據傳輸,一邊可以比另一邊發送更多的數據包。

?

數據命令

KTIL真正的數據,是緊隨著頭部描述。大量的原始數據依賴以下命令

0-4:現在不使用,保留的

0x5:設備reset

0x6:服務設置

0x7:服務數據

0x8:內核調試暫停

0x9:傳輸設置

0xa:時間包

?

現在就可以根據這些格式,來看看KITL包的內容。

1、? KITL傳輸設置包:

當KITL啟動后,從設備發送過來的第一個包。它發送到特定端口(port 981),通過subnet廣播出地址。PB會不時的偵探設備的響應,通過host的配置消息包發送回應。接著設備和桌面通過打開一個KITL通道來建立聯系,之后的通訊過程都是通過這個通道來進行。如下圖綠色標示的,是設備通過981的端口發送傳輸設置包的內容。網絡包包括了設備名字(這里是CEPC37480)、設備IP(9D 38 B2 12)和設備UDP端口(0x3D5)等內容。桌面通過這些信息,來打開通道。

00000020??????????????? ???????????45 44 42 47 FF 00 ?????????EDBG..

00000030? 00 09 20 00 30 00 43 45 50 43 33 37 34 38 30 00 ....0.CEPC37480.

00000040? 00 00 00 00 00 00 9D 38 B2 12 00 11 95 28 92 68 .......8.....(.h

00000050? 03 D5?????????? ????????????????????????????????..?????????????

?

2、? KITL服務設置包:

設備和桌面都會發送這樣的包。當一個服務(KITL流)開始時,設備和桌面都需要應答對方的服務設置包,下面是設備發送過來的一個DBGMSG的服務包。KITL頭用綠色標示,其他是設置的數據。這是從設備(0x01)發送過來的一個控制包(協議標示后面是0xFF),使用申請號0x00(流還沒連接),包的命令是0x06(服務設置)。

00000020????????????? ?????????????45 44 42 47 FF 01???? ??????EDBG..

00000030? 00 06 01 44 42 47 4D 53 47 00 33 37 34 38 30 00 ...DBGMSG.37480.

00000040? 00 00 00 00 00 00 9D 00 10 00?????????????????? ..........

?

3、? 服務設置包的應答:

下面是一個服務設置包的應答包,頭部標示為綠色。這里留意包類型變成了0x10(控制包的響應),其他部分和服務設置包一樣。這個包是桌面發送給設備的,當設備接受到后,DBGMSG的流就連接起來了。這時,設備的應用程序可以開始發送調試信息給桌面。注意,這個流要在桌面發送相似的設置包后,得到響應了,才是完全連接好。

00000020????????????????????? ?????45 44 42 47 FF 10??????? ???EDBG..

00000030? 00 06 01 44 42 47 4D 53 47 00 B8 A9 FF 02 A0 F9 ...DBGMSG.......

00000040? FF 02 18 6A 4A 45 02 FF 00 00?????????????????? ...jJE....??

?

4、? KITL數據包:

下面是一個設備發出的RELFSD包,KITL頭用綠色標示,其他部分的數據留給Relsd流解釋。這里流ID是0x1,類型是0x01,表示是設備發出的包。申請號是0xA4,包的命令是0x07,表示是服務的數據包。這是由設備的shell.exe發送給桌面的,檢查是否設備上有命令需要運行。

00000020????????????????? ?????????45 44 42 47 01 01 ??????????EDBG..

00000030? A4 07 AA 55 55 AA 04 00 0D 00 FE FF FF FF 01 00 ...UU...........

00000040? 00 00 F2 5A A5 0A 1A??????????????????????????? ...Z...????????

?

5、? KITL的ACK包:

從桌面發送到設備的。下面包的標示設置為0x01,類型是應答0x04,包申請號是0xA4,0x07是數據包的命令。如果是設備應答桌面的包,類型應該是0x5。如果是桌面應答設備,類型就是0x4.

00000020???????????????? ??45 44 42 47 01 04?????????? ???????EDBG..

00000030? A4 07 00 00 00 00 00 00 00 00 00 00???????????? ............?

?

6、KITL的timer控制包:

大約每2每由桌面發送給設備。當設備在內核調試器中停止運行了,設備內的時間也就停止了。與時間相關的操作也不能工作,包括KITL的邏輯時間。這情況下,用這個包作為標志,重發丟失的包到桌面。

00000020?????????????? ????45 44 42 47 FF 00?????????? ????????EDBG..

00000030? 00 0A 00 00 00 00 00 00 00 00 00 00???????????? ............

?

總結

以上是生活随笔為你收集整理的kitl协议包简述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。