USB ierīču aktivitātes monitorings

Sākot no Linux kodola versijas 2.6.11, tā sastāvā pieejams modulis usbmon, kas ļauj sekot līdzi datu apmaiņai ar USB slēguma ierīcēm.

Ielādējam moduli:

modprobe usbmon

Ja nav piemontēta debugfs, montējam:

mount| grep debugfs
mount -t debugfs none_debugs /sys/kernel/debug

USB plūsmas analīzei var izmantot arī Java aplikāciju, kas ietilpst pakotnē USBMon-0.4.tar.gz:

wget http://people.redhat.com/zaitcev/linux/USBMon-0.4.tar.gz
tar xzf USBMon-0.4.tar.gz
cd USBMon
vi Makefile # labojam ceļu mainīgajam JAVAC, atstājam tikai javac (no pakotnes openjdk-6-jdk)
make
java USBMon

Ērtāk, vienkāršāk un uzskatāmāk ir analizēt usbmon trafiku ar Wireshark, kurā nepieciešams norādīt monitoringa interfeisu priekš usbmon0 vai usbmonN, kur N ir USB-čaulas numurs, kuru var noteikt, piemēram, ar lsusb utilitu. Galvenā Wireshark priekšrocība ir elastīgas filtrēšanas iespējas.

Izmantojot libpcap 1.0 datu pārtveršanai, iespējams izmantot jebkuru šīs bibliotekas atbalstīto utilitu, piemēram, tcpdump, sākot no 4.0 versijas:

tcpdump -i usbmon0 -w usb.pcap

opcijas “-w” ir obligāta, jo bez tās netiks parādīts kļūdas paziņojums “tcpdump: unsupported data link type USB_LINUX”. Uzskatāmi izsekot datu plūsmu tcpdump vēl neprot, bet saglabāto failu usb.pcap var izmantot citos analizatoros, piemēram, wireshark.

Datu pūsmas gaitu iespējams saglabāt, to vienkārši pārsūtot no direktorijas /sys/kernel/debug/usb/usbmon:

ls /sys/kernel/debug/usb/usbmon

0s 1s 1u 2t 3s 3u 4t 5s 5u 6t 7s 7u
0u 1t 2s 2u 3t 4s 4u 5t 6s 6u 7t

kur, 0* – slēgums datu apkopošanai par visām čaulām. Burti “s”, “u” un “t” norāda izvades formātu, kas atšķiras ar detalizācijas pakāpi.

cat /sys/kernel/debug/usb/usbmon/0u > usbmon.out

Tags:

You must be logged in to post a comment.

© help.open-news.lv
CyberChimps