Difference between revisions of "Bbb sniffer"
(→On a Linux desktop) |
(→On the BBB) |
||
Line 52: | Line 52: | ||
Unmount the sdcard, plug it in the BBB, and power it on. | Unmount the sdcard, plug it in the BBB, and power it on. | ||
− | = | + | =USBProxy installation= |
+ | |||
+ | This section explains how to install USBProxy on the BeagleBone Black. | ||
depmod -a | depmod -a |
Revision as of 15:58, 14 January 2015
This page explains how to setup a USB sniffer on the BeagleBone Black.
This is possible thanks to the USBProxy project.
Requirements
- a BeagleBone Black
- a micro SD card
SD card setup
This section explains how to setup the SD card on a Linux desktop.
mkdir ~/bbb cd ~/bbb
wget http://debian.beagleboard.org/images/bone-debian-7.5-2014-05-14-2gb.img.xz md5sum bone-debian-7.5-2014-05-14-2gb.img.xz
(result should be 35877ce21e8ed0eb1bdc6819ad71c317)
xz --stdout -d bone-debian-7.5-2014-05-14-2gb.img.xz | sudo dd of=/dev/sdX bs=4096 sync
Remove the sdcard.
wget https://github.com/RobertCNelson/linux-dev/archive/3.8.13-bone50.tar.gz tar xzvf 3.8.13-bone50.tar.gz cd linux-dev-3.8.13-bone50/
If needed, modify tools/host_det.sh so that it detects your Linux distribution.
./build_kernel.sh
This script will eventually tell you to run commands to install missing packages, e.g.:
sudo apt-get update sudo apt-get install device-tree-compiler lzma
./build_kernel.sh
Patch and rebuild USB gadget modules:
cd KERNEL/drivers/usb/gadget/ wget https://raw.githubusercontent.com/dominicgs/USBProxy/master/doc/inode.c.patch patch < inode.c.patch cd ~/bbb/linux-dev-3.8.13-bone50 ./tools/rebuild.sh
Insert and mount the sdcard (e.g. to /mnt/rootfs).
cp ~/bbb/linux-dev-3.8.13-bone50/KERNEL/drivers/usb/gadget/*.ko /mnt/rootfs/lib/modules/3.8.13-bone50/kernel/drivers/usb/gadget/
Modify the /mnt/rootfs/opt/scripts/boot/am335x_evm.sh file so that the usb0 related lines are commented out.
Unmount the sdcard, plug it in the BBB, and power it on.
USBProxy installation
This section explains how to install USBProxy on the BeagleBone Black.
depmod -a
apt-get install libudev-dev
mkdir sniffer cd sniffer wget https://github.com/libusb/libusb/archive/v1.0.19.tar.gz tar xzvf v1.0.19.tar.gz cd libusb-1.0.19/ ./bootstrap.sh ./configure make make install
mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/aa_libc.conf ldconfig
Install USBProxy as explained in the README.
Install tcpdump:
apt-get install tcpdump
Sniff
The pcap logger included in USBProxy has many issues.
I recommend using usbmon and tcpdump instead.
Start tcpdump:
modprobe usbmon tcpdump -i usbmon1 -w capture.pcap
Start USBProxy:
usb-mitm
The capture.pcap file can be opened with wireshark.