我已使用this guide在Android设备上生成 tcpdump 文件。我在Fedora
上创建了此文件,而不是Ubuntu 12.04
。
一切顺利, tcpdump 文件正确生成。我在tcpdump
上将/system/bin/
文件复制到Nexus-5上并运行以下命令。
> adb shell
# ln -s /system/bin/tcpdump /system/xbin/tcpdump
# chmod 06755 /system/xbin/tcpdump
# reboot
重新启动计算机后,当我运行> adb shell tcpdump -h
时,出现以下错误:
/system/bin/sh: tcpdump: No such file or directory
有人可以帮我解决问题吗?谢谢!
EDIT1:
当我跑步" tcpdump -h"在 Virtualbox 上的 Ubuntu 计算机上,它显示以下结果:
$ tcpdump -h
tcpdump version 4.2.1
libpcap version 1.1.1
Usage: tcpdump [-aAbdDefhHIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -z command ]
[ -Z user ] [ expression ]
然后我将此tcpdump文件复制到Windows-7主机上并将其复制到设备。
答案 0 :(得分:0)
我现在知道出了什么问题,但是下面的事情有效:
https://github.com/chatch/tcpdump-android
这是一个下载,解压缩,配置和构建tcpdump
的脚本。是的,您可以更改源并重建。
答案 1 :(得分:0)
事实证明我的tcpdump文件在此过程中没有静态编译。
在静态编译以包含所有其他文件后,我仍然使用/system/xbin/tcpdump
使其正常工作。
您还可以查看上面链接的评论部分。我解释了究竟出了什么问题,以及我是如何解决它的。
答案 2 :(得分:0)
是的,我们需要静态构建应用程序而不是动态链接。如果我们在动态链接中运行它将显示没有这样的文件目录。因此,您必须使用交叉编译器工具链静态运行linux测试应用程序,并在您的平台上运行,如imx6 board