天天看点

编译适用于Android-x86架构的tcpdump工具一、环境说明二、编译TCPDUMP三、安装和验证四、后续

在谷歌和必应上搜索的android-x86专用的tcpdump工具多半不能使用,它们基本上都是在arm架构的安卓手机上使用的,而且版本都较为老旧。由于android-x86的linux内核是通用的32位linux,那么能否在常用的32位linux发行版上直接使用32位的gcc编译tcpdump,然后拷贝至android-x86的模拟器中使用呢?答案是可以的!

linux虚拟主机:centos 6.6 i686

宿主机os:windows 7 sp1

宿主机ip:192.168.92.1

虚拟机软件:vmware workstation 11.0

虚拟机系统:android-x86 4.4 r2

虚拟机cpu:单核

虚拟机内存:1 gb

虚拟机硬盘:8 gb

虚拟机联网方式:host-only

虚拟机ip:192.168.92.128

虚拟机sshd软件:sshdroid

虚拟机ssh链接:[email protected]:2222

tcpdump版本:4.7.4

libpcap版本:1.7.3

注意: 本文使用三台主机,配置如上文所述:

1、承载虚拟机的windows 7宿主机,代号为host-1;

2、用于编译的centos虚拟机,代号为host-2;

3、用于验证使用的android-x86虚拟机,代号为host-3。

本章节中的操作都是在host-2上完成的,详细步骤如下所示:

如果看到下图中的结果输出,则表明编译成功:

编译适用于Android-x86架构的tcpdump工具一、环境说明二、编译TCPDUMP三、安装和验证四、后续

在host-1上,通过xshell和xftp连接至host-3(android-x86虚拟机),然后:

从host-2中,将前文编译好的tcpdump可执行文件拷贝至host-1中,然后通过xftp将tcpdump拷贝至host-3的/data/local目录中,并且将tcpdump文件的权限修改为777。

host-1的xshell已经链接至host-3,则在xshell中运行以下命令:

在host-1的命令行窗口中运行以下命令:

如果在xshell中能够看到下图中的输出,则表明安装成功:

编译适用于Android-x86架构的tcpdump工具一、环境说明二、编译TCPDUMP三、安装和验证四、后续

如果想要自行为基于arm的安卓手机或开发板编译tcpdump工具,则可以参考以下文章:

monitoring android network traffic part ii: cross compiling tcpdump | symantec connect community

<a href="http://www.symantec.com/connect/blogs/monitoring-android-network-traffic-part-ii-cross-compiling-tcpdump">http://www.symantec.com/connect/blogs/monitoring-android-network-traffic-part-ii-cross-compiling-tcpdump</a>

monitoring android network traffic part iii: installing &amp; executing tcpdump | symantec connect community

<a href="http://www.symantec.com/connect/blogs/monitoring-android-network-traffic-part-iii-installing-executing-tcpdump">http://www.symantec.com/connect/blogs/monitoring-android-network-traffic-part-iii-installing-executing-tcpdump</a>