




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科生實(shí)驗(yàn)報(bào)告課程名稱:計(jì)算機(jī)原理與應(yīng)用 B實(shí)驗(yàn)名稱:第二次大作業(yè) C-Wireshark 分析 USB 數(shù)據(jù) 1任課教師:李海實(shí)驗(yàn)教師:李海實(shí)驗(yàn)日期:2021 年1 月 7-14 日實(shí)驗(yàn)地點(diǎn):Wireshark、IDLE、gnuplot實(shí)驗(yàn)類型: 原理驗(yàn)證 綜合設(shè)計(jì) 創(chuàng)新學(xué)生姚瓏班級(jí):05961808學(xué)號(hào):1120190141學(xué)院:信息與電子學(xué)院專業(yè):電子信息工程(實(shí)驗(yàn)班)組號(hào):無(wú)同組同學(xué):無(wú)成績(jī):Chap1 分析有線鼠標(biāo)Wireshark-USBPcap 分析有線鼠標(biāo):(中斷傳輸)設(shè)備向主機(jī)單向傳輸信令映入眼簾的是鼠標(biāo)運(yùn)行時(shí)間,Sourse1.5.1 分別表示總線編號(hào)(BUS ID),設(shè)備
2、地址和端點(diǎn)號(hào)l數(shù)據(jù)包標(biāo)號(hào)No:lTime:?jiǎn)?dòng)至捕獲時(shí)間lSource:源 ipl目的 ipDestination:lProtocol:協(xié)議l數(shù)據(jù)包長(zhǎng)度Length:linfo:數(shù)據(jù)包信息點(diǎn)開一條協(xié)議數(shù)據(jù):第一部分 Frame 可以看到物理層的數(shù)據(jù)幀情況以本條協(xié)議數(shù)據(jù)為例作如下解釋:#27 號(hào)幀,線路 31 字節(jié),實(shí)際捕獲 31 字節(jié),接口 ID 為 0;#封裝類型(Encapsulation type):USB packets with USBPcap header (152);#中國(guó)標(biāo)準(zhǔn)時(shí)間:實(shí)際捕獲時(shí)間;2#此包與前一包的時(shí)間間隔Time delta from previous capt
3、ured frame : 0.007967000 seconds;#此包與第一幀的時(shí)間間隔Time since reference or first frame : 4.088308000 seconds;#此幀未做標(biāo)記不被忽略。第二部分重頭戲,作如下詳細(xì)解釋:解釋依據(jù)為 hid_1_11 規(guī)定對(duì)本條協(xié)議鼠標(biāo)數(shù)據(jù)部分在 Leftover Capture Data 域中,數(shù)據(jù)長(zhǎng)度為四個(gè)字節(jié):00f9fe00#第一個(gè)字節(jié)表示鼠標(biāo)是否被點(diǎn)擊:0x00 沒(méi)有點(diǎn)擊,0x01 左擊,0x02 右擊;本條協(xié)議數(shù)據(jù)表示該時(shí)刻沒(méi)有點(diǎn)鼠標(biāo);#第二個(gè)字節(jié)為有符號(hào)字節(jié),最為符號(hào)位,正值表示水平水平右移像素量,負(fù)值表示
4、水平左移像素量。這條協(xié)議數(shù)據(jù)選的不好,我還得算一下;希望有符號(hào)數(shù)的補(bǔ)碼算對(duì)了:水平左移 7 個(gè)像素。#第三個(gè)字節(jié)為有符號(hào)字節(jié),最為符號(hào)位,正值表示水平垂直上移像素量,負(fù)值表示垂直下移像素量。垂直下移 2 個(gè)像素。#最后一個(gè)字節(jié)為鼠標(biāo)的特殊性,具有選擇性不贅述(也確實(shí)不懂)前三個(gè)字節(jié)的含義就足夠理解鼠標(biāo)在屏幕上運(yùn)行的軌跡了;這也是我比較有成就感的環(huán)節(jié),數(shù)據(jù)整合與作圖。#首先保存好捕獲數(shù)據(jù)為 b.pcap 文件置于桌面;#利用 Python(IDLE 編譯運(yùn)行)對(duì)數(shù)據(jù)進(jìn)行可視化處理成坐標(biāo)形式并保存為 xy.txt 文件;#利用強(qiáng)大的gnuplot 軟件作圖即可;這里有個(gè)小插曲,電腦 xy.txt
5、要記得保存在文檔下,不然找 gnuplot 不到文件,確實(shí)浪費(fèi)了不少時(shí)間,算是個(gè)小教訓(xùn)了。xy.txt 文件部分截圖如下:3gnuplot 作圖結(jié)果如下:小插曲:軟件作圖為倒置的所以為了可視化增強(qiáng)用畫圖工具翻轉(zhuǎn)了一下所以坐標(biāo)軸倒過(guò)來(lái)了。4通信過(guò)程分析根據(jù)理論課中有關(guān)串行通信的介紹:# host總線,時(shí)鐘拉低->鼠標(biāo)不產(chǎn)生時(shí)鐘信號(hào)->不數(shù)據(jù),和主機(jī)建立通信以后,主機(jī)鼠標(biāo)產(chǎn)生時(shí)鐘,開始傳輸數(shù)據(jù);# 數(shù)據(jù)由起始位 0、數(shù)據(jù)位和停止位;# 所有 USB 數(shù)據(jù)包模式都首先最低有效位,再發(fā)(課上重點(diǎn)強(qiáng)調(diào));# 每次收發(fā)數(shù)據(jù)可以觸發(fā)中斷,保護(hù)斷點(diǎn),執(zhí)行中斷服務(wù)程序(收發(fā)數(shù)據(jù)),中斷返回。剛設(shè)備時(shí)
6、,主機(jī)會(huì)輪詢各 USB 端口,當(dāng)主機(jī)檢測(cè)到電壓差,就認(rèn)為有新的設(shè)備接入。Host 發(fā)出復(fù)位請(qǐng)求,設(shè)備接到復(fù)位請(qǐng)求后產(chǎn)生外部中斷信號(hào)。(這里的設(shè)備可以使本實(shí)驗(yàn)所用有線鼠標(biāo),有線鍵盤以及 U 盤當(dāng)中的任意一種,因此后面不再贅述)5鼠標(biāo)信令圖:6#附捕獲數(shù)據(jù)轉(zhuǎn)換坐標(biāo) Python 代碼:7Chap2 分析有線鍵盤Wireshark-USBPcap 分析有線鍵盤:(中斷傳輸)設(shè)備向主機(jī)單向傳輸信令同有線鼠標(biāo)主機(jī)信息:有線鍵盤運(yùn)行時(shí)間,Sourse1.6.1 分別表示總線編號(hào)(BUS ID),設(shè)備地址和端點(diǎn)號(hào)點(diǎn)開一條協(xié)議數(shù)據(jù):8第一部分物理層解釋參考有線鼠標(biāo):#15 號(hào)幀,線路 35 字節(jié),實(shí)際捕獲 3
7、5 字節(jié),接口 ID 為 0;#封裝類型(Encapsulation type):USB packets with USBPcap header (152);#中國(guó)標(biāo)準(zhǔn)時(shí)間:實(shí)際捕獲時(shí)間;#此包與前一包的時(shí)間間隔Time delta from previous captured frame : 0.223873000 seconds;#此包與第一幀的時(shí)間間隔Time since reference or first frame : 4.511915000 seconds;#此幀未做標(biāo)記不被忽略第二部分重頭戲作如下詳細(xì)解釋:解釋依據(jù)為 hid_1_11 規(guī)定數(shù)據(jù)長(zhǎng)度八個(gè)字節(jié),只有第三個(gè)字節(jié)不為
8、0 也就是唯一蘊(yùn)含鍵盤敲擊鍵的信息;查規(guī)定可知0x04 表示按鍵為c 鍵,以此類推根據(jù)規(guī)定的位表可以得到鍵盤敲擊的字母。接下來(lái)進(jìn)入捕獲數(shù)據(jù)分析環(huán)節(jié):#首先保存好捕獲數(shù)據(jù)為keyboard.pcap 文件置于桌面;#用 tshark 命令轉(zhuǎn)成 keyboard.txt 文件;9#利用 Python(IDLE 編譯運(yùn)行)對(duì)數(shù)據(jù)進(jìn)行可視化處理;10#運(yùn)行得到敲擊鍵。運(yùn)行結(jié)果如圖:從結(jié)果可以看到我輸入的鍵為“yaolongaiweiji”,Amazing!如果這個(gè)是等重要信息的話就很容易被竊取,所以,目前刷臉,等生物質(zhì)越來(lái)越普及,更多的在不斷保護(hù)每個(gè)人在虛擬網(wǎng)絡(luò)空間中。但無(wú)論如何,道高一尺魔高一丈,推
9、動(dòng)著網(wǎng)絡(luò)空間安全和系統(tǒng)攻防領(lǐng)域的不斷發(fā)展和完善,所以在大數(shù)據(jù),我們要時(shí)刻有安全意識(shí)。不在公共場(chǎng)合輸入,盡量采用非鍵入操作,多常更換等。實(shí)驗(yàn)過(guò)程中,有意見有趣的事情,同學(xué)測(cè)試 Ctrl 的時(shí)候第一字節(jié)捕獲 0x01,由于我本身沒(méi)有測(cè)試這些特殊鍵(在這里缺少了探索精神),后來(lái)求助,在網(wǎng)上找到相關(guān)解釋后明白,不是協(xié)議寫的不對(duì),而是我們沒(méi)看全,有偏移量的鍵碼有其特殊規(guī)定:通信過(guò)程分析有線鍵盤->Host 時(shí)序:# host總線,時(shí)鐘拉低->鍵盤不產(chǎn)生時(shí)鐘信號(hào)->不數(shù)據(jù),和主機(jī)建立通信以后,主機(jī)鍵盤產(chǎn)生時(shí)鐘,開始傳輸數(shù)據(jù);# 數(shù)據(jù)由起始位 0、數(shù)據(jù)位和停止位;# 所有 USB 數(shù)據(jù)包模
10、式都首先最低有效位,再發(fā)(課上重點(diǎn)強(qiáng)調(diào));11# 每次收發(fā)數(shù)據(jù)可以觸發(fā)中斷(敲擊鍵盤鍵),保護(hù)斷點(diǎn),執(zhí)行中斷服務(wù)程序(收發(fā)數(shù)據(jù)),中斷返回。鍵盤信令圖:按鍵編碼參照 USB HID USAGE TABLE,部分截圖如下:12Chap3 分析 U 盤Wireshark-USBPcap 分析 U 盤:通過(guò) usb.idVendor 過(guò)濾出設(shè)備信息,可以看到 U 盤返回主機(jī)的型號(hào),廠商。與鼠標(biāo)鍵盤單向信令相比 U 盤是雙向通信的,既有發(fā)向主機(jī)的信令又有主機(jī)返回的信令;與鼠標(biāo)鍵盤中斷傳輸也不相同,U 盤是傳輸;并且通過(guò)各種各樣的 Request 可以知道是主機(jī)在剛的 U 盤并進(jìn)行配置的過(guò)程。13之后就
11、是 USBMS 協(xié)議的大容量Bulk 傳輸過(guò)程了。剛U 盤時(shí)數(shù)據(jù)在 U 盤和主機(jī)的端點(diǎn) 0 之間的相互,主機(jī)使用端點(diǎn) 0 收發(fā)。直至 Inquiry LUN: 0x00 這條指令:在這條指令以后,使用 SCSI 指令進(jìn)行通信。這時(shí)候 device 使用的是端點(diǎn) 2 來(lái)接收 host令,因此,從 host 視角來(lái)看,它是輸出端點(diǎn),同理,device 使用端點(diǎn) 1 回發(fā)數(shù)據(jù)給 host,即作為輸入端點(diǎn)。U 盤強(qiáng)制拔出時(shí)的傳輸列表:14參考協(xié)議:15U 盤信令圖:1. U 盤剛的時(shí)候,主機(jī)對(duì)總線復(fù)位,獲取設(shè)備描述符的標(biāo)準(zhǔn)請(qǐng)求,U 盤返回設(shè)備描述符(返回長(zhǎng)度為 endpoint 0 的最大包長(zhǎng));2.
12、 主機(jī)對(duì)總線復(fù)位,設(shè)址的標(biāo)準(zhǔn)請(qǐng)求,U 盤啟用新的地址;3. 主機(jī)使用新地址獲取設(shè)備描述符的標(biāo)準(zhǔn)請(qǐng)求,U 盤返回設(shè)備描述符(18Bytes);4. 主機(jī)獲取配置描述符的標(biāo)準(zhǔn)請(qǐng)求,U 盤返回配置描述符以及配置描述符的集合;5. 最后由 U 盤設(shè)置配置的標(biāo)準(zhǔn)請(qǐng)求。相關(guān)說(shuō)明:U 盤協(xié)議復(fù)雜,屬于傳輸,涉及讀寫文件,刪除文件等復(fù)雜操作,信令圖僅以收發(fā)數(shù)據(jù)為例:(此處文字說(shuō)明與鍵盤和鼠標(biāo)一致就沒(méi)標(biāo)注在信令圖中)此處的 PING 表示高速的 OUT(適用于批量傳輸)16關(guān)于 USB(通用串行總線)還想說(shuō)的話USB 協(xié)議是理論課程中弱化的一部分,在理論課程中學(xué)習(xí)了一些有關(guān) USB 的基本概念,如它的出現(xiàn)是為了
13、簡(jiǎn)化 PC 和設(shè)備之間復(fù)雜的串口連接;其熱插拔、即插即用的特性使得現(xiàn)在的 PC 更易用、大眾化趨勢(shì)增強(qiáng);其具有很強(qiáng)的可擴(kuò)展性和高速傳輸數(shù)據(jù)的好處,因此 USB得以迅速普及和快速進(jìn)入市場(chǎng)。本次實(shí)驗(yàn)查閱了大量資料,也收獲了許多理論課以外的知識(shí),在此加以總結(jié):USB 作為一種總線,在主機(jī)和設(shè)備之間進(jìn)行互傳的方式有四種(、批量、中斷和等步(等時(shí))。支持低速可靠的信號(hào)流也支持高速可丟不可重傳的實(shí)時(shí)數(shù)據(jù)流,還支持重傳的塊數(shù)據(jù)流以及中斷數(shù)據(jù)流。數(shù)據(jù)的傳輸和交換是由 Packet 組成的,所以包的分類編碼統(tǒng)一由 PID(主要有令牌包(IN(Device->Host)/OUT(Host->Devic
14、e)、數(shù)據(jù)包、握手包和特殊包等)表示,下圖是網(wǎng)上的一個(gè) Packet 格式:U 盤是一個(gè)比較復(fù)雜的和耗時(shí)的設(shè)備,雖然最終沒(méi)寫出什么實(shí)質(zhì)性的東西,但是查閱了相當(dāng)多的資料,在此過(guò)程對(duì)事務(wù)(IN、OUT、STEUP)的認(rèn)知更清晰了:# IN 事務(wù):令牌包HostPID = IN 的輸入包給設(shè)備,通知設(shè)備要往主機(jī)發(fā)數(shù)據(jù);數(shù)據(jù)包設(shè)備根據(jù)情況會(huì)作出三種反應(yīng):1) 設(shè)備端點(diǎn)正常,設(shè)備往入主機(jī)里面發(fā)出數(shù)據(jù)包(DATA0 與DATA1 交替);2) 設(shè)備正在忙,無(wú)法往主機(jī)發(fā)出數(shù)據(jù)包就NAK 無(wú)效包,IN 事務(wù)提前結(jié)束,到了下一個(gè) IN 事務(wù)才繼續(xù);3) 相應(yīng)設(shè)備端點(diǎn)被錯(cuò)誤包 STALL 包,事務(wù)也就提前結(jié)束了,
15、總線進(jìn)入空閑狀態(tài)。握手包階段主機(jī)正確接收到數(shù)據(jù)之后就會(huì)向設(shè)備ACK 包。17# OUT 事務(wù):令牌包HostPID = OUT 的輸出包給設(shè)備,通知設(shè)備要接收數(shù)據(jù);數(shù)據(jù)包Host 給設(shè)備送數(shù)據(jù)(DATA0 與DATA1 交替);握手包設(shè)備根據(jù)情況會(huì)作出三種反應(yīng):1)設(shè)備端點(diǎn)接收正確,設(shè)備往入主機(jī)返回 ACK,通知主機(jī)可以新的數(shù)據(jù),如果數(shù)據(jù)包發(fā)生了 CRC 校驗(yàn)錯(cuò)誤,將不返回任何握手信息;2) 設(shè)備正在忙,無(wú)法往主機(jī)發(fā)出數(shù)據(jù)包就NAK 無(wú)效包,通知主機(jī)再次數(shù)據(jù);3) 相應(yīng)設(shè)備端點(diǎn)被,錯(cuò)誤包 STALL 包,事務(wù)提前結(jié)束,總線直接進(jìn)入空閑狀態(tài)。# SETUP 事務(wù):令牌包HostPID = SETUP 的輸出包給設(shè)備,通知設(shè)備要接收數(shù)據(jù);數(shù)據(jù)包Host 給設(shè)備送數(shù)據(jù)(只有一個(gè)固定為 8 個(gè)字節(jié)的 DATA0 包,即標(biāo)準(zhǔn)的 USB 設(shè)備請(qǐng)求命令);握手包設(shè)備接收到主機(jī)令信息后,返回 ACK,此后總線進(jìn)入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)產(chǎn)業(yè)園可行性分析報(bào)告
- 建筑給排水設(shè)計(jì)規(guī)范gb50015
- 商業(yè)街區(qū)商業(yè)規(guī)劃手冊(cè)
- 智能生產(chǎn)線設(shè)備維護(hù)指南
- 三農(nóng)文化傳播策略方案
- 重慶高新技術(shù)產(chǎn)業(yè)
- 開題可行性分析報(bào)告模板
- 醫(yī)療設(shè)備操作與使用說(shuō)明手冊(cè)
- 農(nóng)業(yè)產(chǎn)業(yè)鏈協(xié)同發(fā)展方案
- 衛(wèi)星導(dǎo)航定位系統(tǒng)技術(shù)應(yīng)用文檔
- 四川省達(dá)州市2024年中考化學(xué)真題(含答案)
- 航空與航天學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- GB/T 5510-2024糧油檢驗(yàn)谷物及制品脂肪酸值的測(cè)定
- 醫(yī)院護(hù)理人員末位淘汰管理制度
- 英語(yǔ)雅思8000詞匯表
- 護(hù)士2024思想?yún)R報(bào)5篇
- 電力系統(tǒng)應(yīng)急物資儲(chǔ)備手冊(cè)
- 中醫(yī)館痔瘡治療方案
- 電梯安全檢測(cè)招標(biāo)文件
- 配送異物控制方案
- 雙重血漿置換
評(píng)論
0/150
提交評(píng)論