与tcpdump-option一起使用时,Android模拟器无法启动

时间:2016-04-12 15:06:53

标签: android ubuntu android-emulator tcpdump

当我在Ubuntu 14.04上从终端运行AVD时,以下命令正常运行:

my_name@host:~$ emulator -avd my_avd

但是当我想使用tcpdump来捕获网络流量时,模拟器无法启动:

my_name@host:~$ emulator -avd my_avd -tcpdump ~/test.cap
qemu-system-i386: -tcpdump: invalid option

在Windows上使用tcpdump运行模拟器没有问题,但在Ubuntu和Debian上它拒绝工作。这可能是一个Bug还是我错过了什么?当我想使用选项-timezone Europe/Berlin时,会出现同样的问题。相比之下,选项-dns-option 8.8.8.8工作正常。每个AVD都会出现问题。

Android SDK:

  • SDK工具25.1.1
  • Platform-Tools 23.1
  • Build-Tools 23.0.3
  • Android 6.0 SDK平台版本3
  • Android 6.0(Intel x86 Atom Image 32/64位版本8和ARM EABI v7a图像版本3)

Intel Core 2 Duo上启用了虚拟化(KVM)。已安装Oracle JDK 8。

2 个答案:

答案 0 :(得分:0)

我的Mac上发生了相同的行为,解决方案似乎是将-engine classic添加到命令行调用中。所以它写着:

my_name@host:~$ emulator -avd my_avd -tcpdump ~/test.cap -engine classic

积分转到@Interix发布此SonarQube Analysis Parameters documentation

答案 1 :(得分:-1)

根据您的模拟器,-tcpdump是无效选项。检查模拟器 - ?或man manulator的语法。但是,如果这通常会起作用,我会感到惊讶 - 我没有看到tcpdump与任何东西集成在一起作为一个参数(虽然我确定这并非不可能)。

通常我希望自己使用tcpdump作为命令。根据您安装的工具,我会运行模拟器,检查它正在运行的端口,如果您正在寻找传入流量,请分别针对其端口范围运行tcpdump。如果它是传出的,请使用tcpdump跟踪到您将要使用的目的地的流量。