[原创]linux下hasp(srm)加密狗的数据监控
可以实现辅助分析ubuntu下的Sentinel ldk hasp加密狗通信数据
Ubuntu下Sentinel HL(SRM)加密狗数据监控
操作系统环境:Ubuntu Desktop 14.04
安装阿拉丁运行时包: sudo dpkg -i aksusbd_7.40-1_i386.deb
如异常:dpkg status database is locked by another process
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
然后重新安装包。或者简单的重启系统也可以

查看狗的版本信息

USBMON监控USB数据
mount -t debugfs none /sys/kernel/debug 一般linux已经默认挂上了,可跳过
modprobe usbmon
查看当前usb设备
cat /sys/kernel/debug/usb/devices

启动内核后执行
#mount -t debugfs none_debugs /sys/kernel/debug
modprobe usbmon 执行这个命令后usbmon目录出现
检查是否存在目录 /sys/kernel/debug/usb/usbmon
#ls /sys/kernel/debug/usb/usbmon
0s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u
# cat /sys/kernel/debug/usb/devices 确定你要监视的usb设备所在总线号和设备号
# 选择包含有 : Vendor=148f ProdID=5370 Rev= 1.01 的段落
# as follows:
# T: Bus=01Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
# D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
# P: Vendor=148f ProdID=5370 Rev= 1.01
# S: Manufacturer=Ralink
# S: Product=802.11 n WLAN
# S: SerialNumber=1.0
# C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=450mA
# I:* If#= 0 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtusbSTA
# E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# 可以从第一行看到 Bus= 01,设备号是2
保存 usb raw packet ,如果总线号是1,则是1u,如果总线号是2,则是2u,依次类推。特殊情况是0u表示监听所有总线
if (Bus == 01)
sudo cat /sys/kernel/debug/usb/usbmon/1u > ./hasp_srm-UsbMon.txt
else if (Bus == 02)
sudo cat /sys/kernel/debug/usb/usbmon/2u > ./hasp_srm-UsbMon.txt
调试时可以通过ssh终端如 putty来监视hasp狗数据协助分析,如狗在bus 01
modprobe usbmon
cat /sys/kernel/debug/usb/usbmon/1u | grep -v 47 ;-v 47 可以排除插入狗时定时出现一组包含47大小的一组数据
