顯示具有 網路 標籤的文章。 顯示所有文章
顯示具有 網路 標籤的文章。 顯示所有文章

2009年4月6日 星期一

usb sniffer教學

上一篇介紹完使用wireshark安裝後

這一篇要介紹使用wireshark分析usb sniffer


在linux下要擷取USB內容是相當容易的事情


sudo mount -t debugfs none_debugs /sys/kernel/debug

sudo modprobe usbmon

cat /sys/kernel/debug/usbmon/1u >> ~/temp.out


但這種方式只能擷取交握訊號,並不能對其作分析

所以我選擇使用wireshark來輔助分析

目前支援usbmon必須是libpcap-1.0.0版以上
(ubuntu 8.04只更新到libpcap-0.8)

先到http://www.tcpdump.org下載最新版本

tar -xvf libpcap-1.0.0.tar.gz

cd libpcap-1.0.0

./configure

make

sudo make install


再依照上一篇wireshark安裝教學,重新編譯一次即可

為了可以要執行時自動modprobe usbmon

做了以下修改


gedit wireshark-mnt

#!/bin/bash
sudo mount -t debugfs none_debugs /sys/kernel/debug
sudo modprobe usbmon
sudo wireshark


然後將wireshark-mnt移至/usr/sbin/


sudo mv wireshark-mnt /usr/sbin/


開啟wireshark進入capture/interfaces

就可選擇要擷取的USB裝置,如下圖


使用wireshark監控網路狀態

最近在寫linux下的網路程式,剛好就研究了一下sniffer怎麼用

我選了wireshark這套軟體,參考 wireshark

目前版本為1.0.6,安裝方法如下


tar -xvf wireshark-1.0.6.tar.bz2

mv wireshark-1.0.6 ~/opt/

cd ~/opt/wireshark-1.0.6/

./configure (要先安裝libpcap及flex)

make

sudo make install

安裝完後啟動,遇到了一個問題

wireshark: error while loading shared libraries: libwiretap.so.0: cannot open shared object file: No such file or directory

囧了~wireshark找不到libery

但在/usr/local/lib/可以發現libwritetap.so.0確實存在

不得已只好將路徑加入/etc/ld.so.conf

sudo gedit ld.so.conf

include /usr/local/lib

sudo ldconfig

sudo wineshark

大功告成,啟動畫面如下