lsusb для Windows

Я с нетерпением жду возможности захвата USB-трафика с помощью Wireshark. Учебники, которые я видел, используются lsusbвместе с Wireshark. Тем не менее, я на Windows.

От lbusbэквивалента я ожидаю

  • это бесплатно
  • это консольное приложение
  • он показывает дескрипторы USB-устройства и порт, к которому он подключен
  • работает на Windows 7 (требуется x64) и выше, если возможно

Ответы (4)

Я только что вспомнил, что использовал графический инструмент NirSoft USBDeview . Глядя на веб-сайт поставщика, я обнаружил, что его также можно запустить как инструмент командной строки.

Параметры командной строки :

/stext <Filename>    Save the list of all USB devices into a regular text file.
/stab <Filename>     Save the list of all USB devices into a tab-delimited text file.
/scomma <Filename>   Save the list of all USB devices into a comma-delimited text file.
/stabular <Filename> Save the list of all USB devices into a tabular text file.
/shtml <Filename>    Save the list of all USB devices into HTML file (Horizontal).
/sverhtml <Filename> Save the list of all USB devices into HTML file (Vertical).
/sxml <Filename>     Save the list of all USB devices to XML file. 

Лицензия:

Эта утилита распространяется бесплатно . Вам разрешено свободно распространять эту утилиту через дискету, CD-ROM, Интернет или любым другим способом, если вы ничего за это не берете. Если вы распространяете эту утилиту, вы должны включить все файлы в дистрибутив без каких-либо изменений!

Системные Требования:

Эта утилита работает в Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows Server 2008, Windows 7 , Windows 8 и Windows 10. Поддерживаются как 32-разрядные, так и 64-разрядные системы. Windows 98/ME не поддерживается.

Для этой цели существует несколько инструментов. Однако, к сожалению, нет единого инструмента lsusb, который бы делал все это. Вот ваши варианты:

  • DevCon.exe ( CLI ), который доступен в источниках из репозитория github или, альтернативно, может быть получен из Windows SDK, WDK (Windows Driver Kit) или EDWK. Чтобы загрузить запускwdksetup.exeи извлечь WDK для использования на отдельном компьютере. Затем извлеките и запустите только установщикWindows Driver Kit-x86_en-us.msi. Бинарные файлы теперь доступны по адресу:
    C:\Users\XXXX\Downloads\Windows Kits\10\WDK\Installers\Tools\x64\devcon.exe

  • USBview.exe ( GUI и CLI ) — доступен в том же месте, что и выше. И описано здесь .

  • listdevs.exe ( CLI ) — вы можете использовать некоторые инструменты на основе libusb , найденные на их github . Чтобы получить последние двоичные файлы, извлеките выпуск 7z и посмотрите в каталоге примеров.
    Примеры использования:


# listdevs.exe

0bda:0139 (bus 2, device 1) path: 8
8086:8c26 (bus 3, device 0)
8087:8008 (bus 1, device 1) path: 1
13d3:3402 (bus 2, device 3) path: 5
16c0:05df (bus 2, device 14) path: 2
8087:8000 (bus 3, device 1) path: 1
04f2:b3fd (bus 2, device 2) path: 7
046d:c52b (bus 2, device 4) path: 3
8086:8c2d (bus 1, device 0)
8086:8c31 (bus 2, device 0)

# Then use xusb to get details of the VID/PID:
# xusb.exe -i 16c0:05df

Using libusb v1.0.22.11312
Opening device 16C0:05DF...
Device properties:
        bus number: 2
         port path: 2 (from root hub)
             speed: 1.5 Mbit/s (USB LowSpeed)

Reading device descriptor:
            length: 18
      device class: 0
               S/N: 0
           VID:PID: 16C0:05DF
         bcdDevice: 0100
   iMan:iProd:iSer: 1:2:0
          nb confs: 1

Reading BOS descriptor: no descriptor

Reading first configuration descriptor:
             nb interfaces: 1
              interface[0]: id = 0
interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 03.00.00
       endpoint[0].address: 81
           max packet size: 0008
          polling interval: 0A

Claiming interface 0...

Reading string descriptors:
   String (0x01): "digistump.com"
   String (0x02): "DigiUSB"

Releasing interface 0...
Closing device...
libusb: error [parse_bos] unexpected descriptor 0 (expected f)

На этом сайте мы ценим один ответ для каждого инструмента, если они не зависят друг от друга. Это позволяет голосовать и принимать только один из инструментов. Если вы опубликуете 3 инструмента в одном ответе, я, возможно, захочу дать вам 1 голос «за» и 2 голоса «против» (что невозможно), и никто не узнает, какой инструмент действительно решил мою проблему.
Это использование на этом сайте также должно быть описано в каком-то метапосте.
@ThomasWeller Ага, хорошо, я не знал. Я явно новичок на этом сайте. В любом случае, как я уже упоминал, нет ни одного инструмента , который делает то, что lsusbделает, по крайней мере, если ОП не укажет, какую именно информацию он ищет. Кроме того, ответ также зависит от того, через что вы готовы пройти, чтобы получить эти инструменты. Готовы ли вы скомпилировать с нуля или просто хотите щелкнуть и скачать? Вам нужен только GUI или CLI? (Здесь он хотел CLI, AFAICT.)

Инструмент командной строки RestartUsbPort Уве Зибера может отображать существующие USB-устройства:

C:\>RestartUsbPort -L
RestartUsbPort V1.0.3 (Win32) - Restarts a USB Port
Freeware by Uwe Sieber - www.uwe-sieber.de

List of USB ports with a device attached:

Name      : Generic USB Hub
DeviceID  : USB\VID_8087&PID_0020\5&15BBD570&0&1
Location  : Port_#0001.Hub_#0002
DriverKey : {36fc9e60-c465-11cf-8056-444553540000}\0004
USB Port  : 2-1

Name      : Generic USB Hub
DeviceID  : USB\VID_8087&PID_0020\5&29432BF7&0&1
Location  : Port_#0001.Hub_#0001
DriverKey : {36fc9e60-c465-11cf-8056-444553540000}\0005
USB Port  : 3-1

Для тех, кому не требуется консольное приложение:

Вы можете загрузить USB-TreeView с веб-сайта Уве Зибера. Он основан на образце приложения Microsoft «USBView» , который можно найти в комплекте разработки драйверов Windows.