Как отслеживать использование пропускной способности веб-камеры USB?

Отредактируйте свой:

gedit /etc/profile

Введите данные в этом формате.

export http_proxy=http://username:password@proxyhost:port/ 
export ftp_proxy=http://username:password@proxyhost:port/

Затем запустите

sudo apt-get update

. Это должно сделать это для тебя.

Как указано выше, вы можете ввести прокси в apt.conf (Piyush Credit)

1
задан 7 February 2013 в 04:01

2 ответа

Я думаю, что это можно сделать с помощью wirehark.

Когда он подключается к USB-устройству, в syslog появляется сообщение типа

Feb 7 21:35:42 Ядро компьютера : [1237.639216] usb 2-1.1.4: новое высокоскоростное USB-устройство с номером 8 с помощью ehci_hcd

. С этой информацией мы знаем, что устройство было подключено к шине 2 с устройством № 8.

Запуск firehark

Feb 7 21:35:42 Ядро компьютера: [1237.639216] usb 2-1.1.4: новое высокоскоростное USB-устройство с номером 8 с помощью ehci_hcd [!d3 ]

$ sudo wireshark

Появится список устройств ... выберите тот же идентификатор шины, который вы подключаете к устройству, в этом случае «USB-шина номер 2» и начните захват.

В меню выберите «Статистика», затем «IO Graphs».

Затем в параметрах графиков вы можете создать фильтр только с нужным устройством.

(usb.bus_id == 2) & amp; & amp; & amp; (usb.device_address == 8)

Например:

В «Ось X» и «Ось Y» выравнивают значения, чтобы иметь графику с «нормальными» значениями, например Тик Интервал: 1 сек, Единица: Биты / галочка, и с этим графическое изображение должно быть в битах / сек.

5
ответ дан 25 May 2018 в 01:43

Я написал пару сценариев оболочки, чтобы получить пропускную способность с USB-устройства. Если кто-то использует его, вы можете найти его в этом сообщении.

getUsb.sh

#!/bin/bash  

COUNTER=0;
# first get USB devices
IFS=$'\n'
USBDEVICES=$( lsusb | grep -v "0000:0000" | grep -iv "hub" )
CHOOSED_DEVICE=$(zenity --list  --width=700 --height=500 --title "Connected USB devices" --column="Devices" ${USBDEVICES[@]})
unset IFS

echo ${CHOOSED_DEVICE} 
echo ${CHOOSED_DEVICE} | cut -d: -f 1 | read 

BUS=`echo ${CHOOSED_DEVICE} | cut -d: -f 1 | cut -d\  -f 2`
DEVICE=`echo ${CHOOSED_DEVICE} | cut -d: -f 1 | cut -d\  -f 4`

let BUS=$BUS+0

echo $BUS
echo $DEVICE

# create data to pipe
let totalIN=0;
let totalOUT=0;

echo "usbmon -i ${BUS} | grep "C Bo:${BUS}:${DEVICE}" ";

usbmon -i ${BUS} | grep "C B" | grep "${BUS}:${DEVICE}" | while read  garb1 garb2 garb3 status garb5 value finalGarb; do 
    if [[ $status =~ "Bo" ]]; then
        let totalIN=$totalIN+$value
        echo $totalIN > /tmp/counterUsbIN
    elif [[ $status =~ "Bi" ]]; then
        let totalOUT=$totalOUT+$value
        echo $totalOUT > /tmp/counterUsbOUT
    else
        echo "discarded"
        continue;
    fi
done

getUsb.sh

[ f2]
1
ответ дан 25 May 2018 в 01:43
  • 1
    Привет @Pipe. Я попытался следить за вашим блогом, но не мог понять, как создать пользовательскую программу usbmon из github.com/kkaempf/usbmon . Он создает программу usbdump, а не программу usbmon, которую ожидают ваши скрипты. Можете ли вы уточнить, как настроены зависимости? – Lucas 19 February 2016 в 03:19
  • 2
    Привет, Лукас, те сценарии, где быстро взломают, и я никогда не пытаюсь заставить его работать без учетной записи root. Это не очень понятно в сообщении, но getUsb.sh должно выполняться как root. – Pipe 22 February 2016 в 14:39

Другие вопросы по тегам:

Похожие вопросы: