我需要在我的 android 设备上进行 tcpdump 跟踪。
我的设置:
将 tcpdump 文件推送到 sdcard
adb push filepath/tcpdump /sdcard/tcpdump
将文件复制到 /system/bin
赋予 tcpdump 文件 root 权限
adb shell
cd /system/bin
su
chmod 777 tcpdump
从 Google Play安装BUSYBOX
运行 tcpdump 跟踪
tcpdump -vv -s 0 -w /sdcard/filename.pcap
我已经设法在三星 Galaxy S4 上做到这一点——效果很好。但是,它不适用于我的三星 Galaxy Tab。在 tcpdump 命令之后,我得到了错误:
tcpdump
soinfo_link_image(linker.cpp:1635): could not load library "libssl.so" needed by
"/system/bin/tcpdump"; caused by load_library(linker.cpp:761): not a valid ELF
executable: libssl.soCANNOT LINK EXECUTABLE
两台设备都已植根,并且具有相同的 tcpdump 配置。我 在 /system/lib/ 中有libssl.so
三星Galaxy S4
C:\Windows\System32>adb shell
shell@android:/ $ su
su
root@android:/ # cd system/bin
cd system/bin
root@android:/system/bin # tcpdump
tcpdump
tcpdump: WARNING: arptype 530 not supported by libpcap - falling back to cooked
socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rmnet_usb0, link-type LINUX_SLL (Linux cooked), capture size 96 byt
es
三星 Galaxy Tab
C:\Windows\System32>adb shell
root@android:/ # su
su
root@android:/ # cd system/bin
cd system/bin
root@android:/system/bin # tcpdump
tcpdump
soinfo_link_image(linker.cpp:1635): could not load library "libssl.so" needed by
"/system/bin/tcpdump"; caused by load_library(linker.cpp:761): not a valid ELF
executable: libssl.soCANNOT LINK EXECUTABLE
255|root@android:/system/bin #