• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    USB設備識別主機操作系統的方法技術方案

    技術編號:6242736 閱讀:303 留言:0更新日期:2012-04-11 18:40
    本發明專利技術公開了一種USB設備識別主機操作系統的方法,屬于信息安全領域。方法包括:A、USB設備上電并初始化;B、判斷第一個setup包是否是第一預設命令,是執行C,不是執行D;C、判斷第一預設命令中的第七個字節是否是第二預設值,是將操作系統標識置為第一預設標識執行F,否則執行E;D、判斷第一個setup包是否是第二預設命令,是將操作系統標識置為第二預設標識,執行F否則執行E;E、按照默認操作系統標識與主機進行信息交互,直到接收到最后一個setup包,并判斷最后一個setup包是否是第三預設命令,是則將操作系統標識置為第三預設標識,不是,則將操作系統標識置為第四預設標識;F、根據當前操作系統標識與主機進行信息交互,之后并等待接收主機下發的指令。

    【技術實現步驟摘要】

    本專利技術涉及一種信息或信號在輸入/輸出設備或中央處理機之間互聯或傳送的 方法,屬于信息安全領域,具體涉及一種USB設備識別主機操作系統的方法。
    技術介紹
    USB協議技術是主機與外部設備連接的串行總線標準,在主機(例如,個人計算 機、個人數字助理以及移動電腦等)上使用十分廣泛,支持熱插拔和即插即用,并支持總線 供電,鼠標、鍵盤、游戲手柄、掃描儀、數碼相機、打印機、硬盤、安全設備、光驅和網卡等幾乎 所有的外圍設備都可以通過運行USB接口與主機相連并進行通信,USB接口已經成為目前 大多數主機外設與計算機相連的缺省接口。在操作系統平臺支持方面,Windows系統平臺中Windows 98、Windows 2000、 Windows XP及Windows Vista,Windows 7等,蘋果操作系統,Linux系統都提供了對USB接 口的支持。而隨著USB接口計算機外圍設備的增多,要求計算機對USB接口的支持能力也 越高,同時也要求USB設備能夠很好的識別主機操作系統。
    技術實現思路
    針對上述問題,現提出一種USB設備識別主機操作系統的方法,具體技術方案如 下一種USB設備識別主機操作系統的方法,所述方法包括步驟A、USB設備上電,并進行初始化;步驟B、所述USB設備判斷接收到的第一個setup包是否是第一預設命令,如果是 所述第一預設命令,執行步驟C,如果不是所述第一預設命令,執行步驟D ;步驟C、所述USB設備判斷所述第一預設命令中的第七個字節是否是第二預設值, 如果是,則將操作系統標識置為第一預設標識,執行步驟F,否則,執行步驟E ;步驟D、所述USB設備判斷所述第一個setup包是否是第二預設命令,如果是所述 第二預設命令,則將操作系統標識置為第二預設標識,執行步驟F,否則,執行步驟E ;步驟E、所述USB設備按照默認操作系統標識與主機進行信息交互,直到接收到最 后一個setup包,并判斷所述最后一個setup包是否是第三預設命令,如果是所述第三預設 命令,則將操作系統標識置為第三預設標識,如果不是所述第三預設命令,則將操作系統標 識置為第四預設標識;步驟F、所述USB設備根據當前操作系統標識與所述主機進行信息交互,所述USB 設備與所述主機建立通信,并等待接收所述主機下發的指令。所述USB設備進行初始化包括將上電標識初始化為第一預設值,將操作系統標 識初始化為默認標識。所述步驟F還包括,所述USB設備判斷當前操作系統標識是否與所述默認標識相 同,如果相同,則所述USB設備與主機建立通信,并等待接收所述主機下發的指令;如果不相同,所述USB設備進行軟掉電處理,并將所述上電標識置為第三預設值,執行步驟A。在所述步驟A之后,所述方法還包括判斷所述USB設備是否是首次上電,如果是 首次上電,則執行步驟B ;如果不是,所述USB設備執行步驟F。判斷所述USB設備是否是首次上電具體為判斷上電標識是否是第一預設值,如 果是,則所述USB設備是首次上電,如果不是,則所述USB設備不是首次上電;所述第一預設命令為取設備描述符命令。所述USB設備判斷第一個setup包是否是第一預設命令具體為所述USB設備判 斷所述第一個setup包是否是以十六進制數8006開始的,如果是,則所述第一個setup包 是所述第一預設命令,否則,不是所述第一預設命令。所述第二預設值為十六進制數0x08。所述第二預設命令為設置設備地址命令。所述USB設備判斷所述第一個setup數據包是否是第二預設命令具體為所述 USB設備判斷所述第一個setup包是否是以十六進制數00 05開始的,如果是,則所述第一 個setup包為所述第二預設命令,否則,不是所述第二預設命令。所述最后一個setup包是指所述USB設備在接收完取描述符信息之后接收到的第 一條指令;所述取描述符信息包括取設備描述符命令、取接口描述符命令、取端點描述符命 令、取配置描述符命令。所述第三預設命令為選擇配置指令。所述USB設備判斷最后一個setup包是否是第三預設命令具體為所述USB設備 判斷所述最后一個setup包是否是以十六進制數00 09開始的,如果是,則所述最后一個 setup包是所述第三預設命令,否則,不是所述第三預設命令。USB設備通過對主機下發的指令進行分析,可以確定主機操作系統,并在確定主機 操作系統后,有針對性的向主機返回相應的數據,使得主機能夠準確的識別USB設備。所述方法還包括所述第一預設標識對應第一操作系統,第二預設標識對應第二 操作系統,第三預設標識對應第三操作系統,第四預設標識對應第四操作系統。所述第一操作系統為蘋果操作系統,所述第二操作系統為LinuX2. 4內核系統或 Linux2. 6. 10及Linux2. 6. 10之前的內核系統,所述第三操作系統為Linux2. 6. 10之后的內 核系統,第四操作系統為Windows操作系統。有益效果USB設備通過對主機下發的指令進行分析,可以確定主機操作系統,并 在確定主機操作系統后,有針對性的向主機返回相應的數據,使得主機能夠準確的識別USB 設備。附圖說明圖1為本專利技術實施例提供的一種USB設備識別主機操作系統的方法流程圖; 具體實施例方式為使本專利技術的目的、技術方案和優點更加清楚,下面將結合附圖對本專利技術實施方 式作進一步地詳細描述。在進行具體說明之前,對USB設備與主機之間的通信原理進行簡單的說明,如下USB設備與主機之間的通信是由主機發送命令給USB設備,USB設備對接收到的 命令進行響應,USB設備與主機之間通信的基本單位是“包”,其中,“包”的分類主要有令 牌包、數據包和握手包,由PID來決定包的具體類型。其中,令牌包的格式為SYNC+PID+ADDR+ENDP+CRC ;數據包分為DATAO包和DATAl 包,在USB設備返回的數據長度超過相應端點的最大輸出數據包長度時,需要將返回的數 據分批發送,一般情況下,DATAO包和DATAl包交替發送;握手包的格式為SYNC+PID。其中,USB設備通過端點來收發數據。例如PID=SETUP ADDR 00 ENDP 00 CRC5 02 idle 3PID=DATAO data :80 06 00 01 00 00 40 00 CRC16 :94dd idle :7PID :ACK idle :2ela上述命令說明,該包為SETUP包,數據內容是80 06 00 01 00 0040 00,握手包為 ACK ;其中,SETUP包由主機下發,USB設備接收到該SETUP包后向主機返回應答信息,例如PID :IN ADDR :00 ENDP :00 CRC5 :02 idle :7PID =DATAl data :12 01 10 01 00 00 00 08 CRC16 :7711 idle :7PID :ACK idle :2el6PID :0UT ADDR :00 ENDP :00 CRC5 :02 idle :3PID DATAl data :CRC16 :0000 idle :7PID :ACK idle :2e5aUSB設備向主機返回的應答數據是12 01 10 01 00 00 00 08,需要說明的是, USB設備在接收到主機本文檔來自技高網...

    【技術保護點】
    一種USB設備識別主機操作系統的方法,其特征在于,所述方法包括:步驟A、USB設備上電,并進行初始化;步驟B、所述USB設備判斷接收到的第一個setup包是否是第一預設命令,如果是所述第一預設命令,執行步驟C,如果不是所述第一預設命令,執行步驟D;步驟C、所述USB設備判斷所述第一預設命令中的第七個字節是否是第二預設值,如果是,則將操作系統標識置為第一預設標識,執行步驟F,否則,執行步驟E;步驟D、所述USB設備判斷所述第一個setup包是否是第二預設命令,如果是所述第二預設命令,則將操作系統標識置為第二預設標識,執行步驟F,否則,執行步驟E;步驟E、所述USB設備按照默認操作系統標識與主機進行信息交互,直到接收到最后一個setup包,并判斷所述最后一個setup包是否是第三預設命令,如果是所述第三預設命令,則將操作系統標識置為第三預設標識,如果不是所述第三預設命令,則將操作系統標識置為第四預設標識;步驟F、所述USB設備根據當前操作系統標識與所述主機進行信息交互,所述USB設備與所述主機建立通信,并等待接收所述主機下發的指令。

    【技術特征摘要】
    1.一種USB設備識別主機操作系統的方法,其特征在于,所述方法包括步驟A、USB設備上電,并進行初始化;步驟B、所述USB設備判斷接收到的第一個setup包是否是第一預設命令,如果是所述 第一預設命令,執行步驟C,如果不是所述第一預設命令,執行步驟D ;步驟C、所述USB設備判斷所述第一預設命令中的第七個字節是否是第二預設值,如果 是,則將操作系統標識置為第一預設標識,執行步驟F,否則,執行步驟E ;步驟D、所述USB設備判斷所述第一個setup包是否是第二預設命令,如果是所述第二 預設命令,則將操作系統標識置為第二預設標識,執行步驟F,否則,執行步驟E ;步驟E、所述USB設備按照默認操作系統標識與主機進行信息交互,直到接收到最后一 個setup包,并判斷所述最后一個setup包是否是第三預設命令,如果是所述第三預設命 令,則將操作系統標識置為第三預設標識,如果不是所述第三預設命令,則將操作系統標識 置為第四預設標識;步驟F、所述USB設備根據當前操作系統標識與所述主機進行信息交互,所述USB設備 與所述主機建立通信,并等待接收所述主機下發的指令。2.根據權利要求1所述的方法,其特征在于,所述USB設備進行初始化包括將上電標 識初始化為第一預設值,將操作系統標識初始化為默認標識。3.根據權利要求2所述的方法,其特征在于,所述步驟F還包括,所述USB設備判斷當 前操作系統標識是否與所述默認標識相同,如果相同,則所述USB設備與主機建立通信,并 等待接收所述主機下發的指令;如果不相同,所述USB設備進行軟掉電處理,并將所述上電 標識置為第三預設值,執行步驟A。4.根據權利要求3所述的方法,其特征在于,在所述步驟A之后,所述方法還包括判 斷所述USB設備是否是首次上電,如果是首次上電,則執行步驟B ;如果不是,所述USB設備 執行步驟F。5.根據權利要求4所述的方法,其特征在于,判斷所述USB設備是否是首次上電具體 為判斷上電標識是否是第一預設值,如果是,則所述USB設備是首次上電,如果不是,則所 述USB設備不是首次上電;6.根據權利要求1所述的方法,其特征在于,所述第一預設命令...

    【專利技術屬性】
    技術研發人員:陸舟于華章
    申請(專利權)人:北京飛天誠信科技有限公司
    類型:發明
    國別省市:11[中國|北京]

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一本无码中文字幕在线观| 亚洲AV无码一区二区三区牲色| 无码任你躁久久久久久久| 亚洲中文字幕无码爆乳av中文| 岛国无码av不卡一区二区| 久久无码人妻一区二区三区午夜| 少妇爆乳无码专区| 乱色精品无码一区二区国产盗| 国产在线无码制服丝袜无码| 亚洲综合久久精品无码色欲| 亚洲国产精品无码一线岛国| 一区二区三区无码高清视频| 亚洲AV无码专区在线电影成人| 亚洲成A人片在线观看无码不卡 | 69堂人成无码免费视频果冻传媒| 狼人无码精华AV午夜精品| 久久午夜福利无码1000合集| 亚洲精品无码久久千人斩| 中文字幕无码精品亚洲资源网| 欧洲黑大粗无码免费| 2021无码最新国产在线观看| 无码国产精品一区二区免费模式 | 亚洲AV永久无码精品水牛影视| 免费无码A片一区二三区| 无码人妻一区二区三区在线视频| 东京热人妻无码人av| 亚洲精品无码成人片在线观看| 无码丰满熟妇一区二区| 免费无码精品黄AV电影| WWW久久无码天堂MV| 性色av无码免费一区二区三区 | 亚洲成A人片在线观看无码3D| 无码精品尤物一区二区三区| 久久精品无码精品免费专区| 国产成人AV一区二区三区无码| 亚洲级αV无码毛片久久精品| 亚洲精品无码精品mV在线观看| 一本色道无码不卡在线观看| 无码人妻一区二区三区在线视频 | 久久午夜无码鲁丝片| 久久国产精品无码一区二区三区|