/ system / bin / sh:tcpdump:没有这样的文件或目录

时间:2014-04-03 10:34:30

标签: android linux adb tcpdump

我已使用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主机上并将其复制到设备。

3 个答案:

答案 0 :(得分:0)

我现在知道出了什么问题,但是下面的事情有效:

https://github.com/chatch/tcpdump-android

这是一个下载,解压缩,配置和构建tcpdump的脚本。是的,您可以更改源并重建。

答案 1 :(得分:0)

事实证明我的tcpdump文件在此过程中没有静态编译。

在静态编译以包含所有其他文件后,我仍然使用/system/xbin/tcpdump使其正常工作。

您还可以查看上面链接的评论部分。我解释了究竟出了什么问题,以及我是如何解决它的。

答案 2 :(得分:0)

是的,我们需要静态构建应用程序而不是动态链接。如果我们在动态链接中运行它将显示没有这样的文件目录。因此,您必须使用交叉编译器工具链静态运行linux测试应用程序,并在您的平台上运行,如imx6 board