[英]Why can't my Android APP use tcpdump eventhough I change the permission of tcpdump to 777?
我将/ system / xbin / tcpdump的权限更改为777,并在我的Android APP中编写代码,如下所示。
但是我仍然收到错误消息"stderr=tcpdump: any:
您无权在该设备上捕获”和"stderr=(socket: Operation not permitted)"
。
有谁知道这是什么问题吗? 谢谢。
工艺流程
String[] cmd = {"/system/xbin/tcpdump", "-i any", "-w /sdcard/tcpdump.pkt"};
TextUtils.join(" ", cmd);
process = Runtime.getRuntime().exec(cmd);
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line;
while ((line = errorReader.readLine()) != null) {
Log.d(TAG, "stderr="+line);
}
Android不支持原始套接字,这包括通过无根设备上的任何用户空间进程使用嗅探器收集原始帧的功能。
如果您在Android上查看TCPDump的主要支持网站 ,则会发现最基本的要求之一是a rooted Android device.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.