0
我正在使用Atmel AVR set of libraries編程USB海量存儲設備,僅使用主機HID驅動程序。我希望根據設備是否插入Windows機器和Linux(我們只是說基於Debian的機器)而具有一些特定的行爲。我搜索了API並沒有發現任何似乎有此功能的東西。AVR USB檢測操作系統
是否有一個特定的功能,允許我檢測連接的操作系統?或者,是否有一組特定的行爲可以輸入,至少可以推斷出連接的操作系統?
我正在使用Atmel AVR set of libraries編程USB海量存儲設備,僅使用主機HID驅動程序。我希望根據設備是否插入Windows機器和Linux(我們只是說基於Debian的機器)而具有一些特定的行爲。我搜索了API並沒有發現任何似乎有此功能的東西。AVR USB檢測操作系統
是否有一個特定的功能,允許我檢測連接的操作系統?或者,是否有一組特定的行爲可以輸入,至少可以推斷出連接的操作系統?
根據USB規範沒有標準的方法來獲得主機系統的類型。
而且通常你不希望你的設備反應os的依賴。 通常情況下,您希望您的設備符合規範,以便任何具有正確USB實施的設備都可以與其連接。
否則會有這麼多不同的操作系統的考慮。例如Linux的口味。
然而,一些安全研究人員提出了(或者他們是否發現了這樣的事情)?badusb設備通過某些時間和協議檢測主機操作系統的唯一性來觸發輕微集中的攻擊。
所以你可以在這個方向搜索。
但是,這種方法更像是通過看他的腳印識別具體的人。這個人可以隨時更新鞋子...
你是在主機端開發自己的驅動程序,還是依靠系統標準驅動程序(例如HID)?使用自己的驅動程序,您可以將OS信息合併到協議中,但通常情況下無法猜測主機的操作系統。但是我們可以理論化(例如http://ix.cs.uoregon.edu/~butler/pubs/sadfe11.pdf) – Archie
@Archie使用HID,感謝您的幫助我澄清。該資源可能非常有用 - 現在正在研究它 – KDEx