与tcpdump选项一起使用时,Android emulator无法启动

与tcpdump选项一起使用时,Android emulator无法启动,android,ubuntu,android-emulator,tcpdump,Android,Ubuntu,Android Emulator,Tcpdump,当我在Ubuntu14.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运行emulator没有问题,但在Ubuntu和Deb

当我在Ubuntu14.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运行emulator没有问题,但在Ubuntu和Debian上它拒绝工作。这可能是一个错误,还是我遗漏了什么?当我想使用选项
-timezone Europe/Berlin
时,同样的问题也会出现。相反,选项
-dns选项8.8.8.8
工作正常。每个AVD都会出现问题

Android SDK:

  • SDK工具25.1.1
  • 平台工具23.1
  • 构建工具23.0.3
  • Android 6.0 SDK平台版本3
  • Android 6.0(英特尔x86 Atom映像32/64位版本8和ARM EABI v7a映像版本3)

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

根据您的模拟器,-tcpdump是无效选项。检查模拟器-?或man emulator获取语法。然而,如果这能正常工作的话,我会感到惊讶——我还没有看到tcpdump本身作为一个参数与任何东西集成在一起(尽管我确信这不是不可能的)


通常我希望使用tcpdump本身作为命令。根据您安装的工具,我将运行emulator,检查它正在运行的端口,如果您正在查找传入流量,则根据其端口范围分别运行tcpdump。如果是传出的,请使用tcpdump将流量跟踪到要使用的目标。

根据您的模拟器,-tcpdump是无效选项。检查模拟器-?或man emulator获取语法。然而,如果这能正常工作的话,我会感到惊讶——我还没有看到tcpdump本身作为一个参数与任何东西集成在一起(尽管我确信这不是不可能的)


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

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

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

由于@Interix发布了此消息,积分归@Interix

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

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

我已经阅读了帮助输出(在两个系统上),因此我知道有一个选项
-tcpdump
。tcpdump选项在Windows上运行,但在Linux上它告诉我“无效选项”。我已经阅读了帮助输出(在两个系统上),因此我知道有一个选项
-tcpdump
。tcpdump选项在Windows上运行,但在Linux上它告诉我“无效选项”。