执行 adb shell tcpdump -i any -s 0 -w /sdcard/http.pcap 提示/system/bin/sh: tcpdump: inaccessible or not found
时间: 2023-09-13 10:05:08 浏览: 324
这个错误提示意味着你的设备上没有安装 `tcpdump` 工具,或者该工具无法访问。请确保你已经在设备上安装了 `tcpdump` 工具,并在使用 `adb shell` 命令时具有足够的权限。如果你没有安装 `tcpdump` 工具,可以尝试使用以下命令在设备上安装:
```
adb shell su -c "apt update && apt install tcpdump"
```
这将使用 `su` 命令获取 root 权限,并在设备上执行 `apt update` 和 `apt install tcpdump` 命令以安装 `tcpdump` 工具。如果你的设备上没有安装 `apt` 包管理器,你可以尝试使用其他适合你的设备的包管理器。
相关问题
adb shell tcpdump -i any -s 0 -w /data/any.pcap
使用ADB (Android Debug Bridge) 命令行工具来执行tcpdump抓包,你可以通过以下步骤在设备上进行网络捕获:
1. 先切换到设备的root模式[^1]:
```shell
adb shell su -c
```
2. 定义捕获文件的位置并启动tcpdump,将数据保存到/data目录下的any.pcap文件:
```
/data/local/tmp/tcpdump -i any -p -s 0 -w /sdcard/any.pcap
```
注意,`-i any` 指定监听任意接口,`-s 0` 表示抓取完整的数据包,`-w /sdcard/any.pcap` 是指定输出文件路径。
3. 如果需要,可以先推送tcpdump工具到设备:
```shell
adb push tcpdump /data/local/tcpdump
```
4. 给tcpdump可执行权限:
```shell
adb shell chmod 6755 /data/local/tcpdump
```
5. 清理可能存在的旧捕获文件:
```shell
adb shell rm -r /sdcard/capture.pcap
```
6. 启动tcpdump,然后等待捕获完成或暂停操作:
```shell
adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/any.pcap
pause
```
阅读全文