编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

编译适用于Android-ARM架构的tcpdump工具

wxchong 2025-03-06 20:16:17 开源技术 74 ℃ 0 评论

TcpDump可以将网络中传输的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

零、准备工作

  1. 安装 Debian 7.8 X86_64

  2. 准备一台有root权限的Android手机

  3. 用root账户登录Debian系统

一、安装交叉编译工具链

1. 安装Emdebian软件仓库的GPG密钥

apt-get install emdebian-archive-keyring

2. 安装Emdebian需要的Squeeze依赖

apt-get install flex

apt-get install byacc

apt-get install make

vi /etc/apt/sources.list

在上述文件最后添加如下内容:

deb http://ftp.us.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main

deb http://www.emdebian.org/debian/ squeeze main

注意:

第一行启用Debian Squeeze的软件仓库,以便于满足Emdebian工具链的依赖;

第二行启用Debian Squeeze的安全更新仓库;

第三行启用Emdebian的软件仓库。

3. 同步Debian软件包的索引文件

apt-get update

4. 安装ARM GNU C++编译器

apt-get install g++-4.4-arm-linux-gnueabi

5. 检查交叉编译器是否安装成功

arm-linux-gnueabi-gcc --version

若上述命令的返回如下所示,则表示安装成功:

二、交叉编译TCPDUMP

1. 下载libpcap和tcpdump的源码包

cd /root/Downloads

wget http://www.tcpdump.org/release/tcpdump-4.7.4.tar.gz

wget http://www.tcpdump.org/release/libpcap-1.7.3.tar.gz

2. 解压缩源码包

tar xvzf libpcap-1.7.3.tar.gz

tar xvzf tcpdump-4.7.4.tar.gz

3. 编译libpcap

cd libpcap-1.7.3

export CC=arm-linux-gnueabi-gcc

./configure --host=arm-linux --with-pcap=linux

make

cd ..

4. 编译tcpdump

cd tcpdump-4.7.4

export ac_cv_linux_vers=3

export CFLAGS=-static

export CPPFLAGS=-static

export LDFLAGS=-static

./configure --host=arm-linux --disable-ipv6

make

5. 检查编译是否成功

file tcpdump

若上述命令的输出如下图所示,则表明编译成功:

6. 压缩可执行文件

arm-linux-gnueabi-strip tcpdump

这一步可以将可执行文件的体积减少将近40%

三、安装和执行tcpdump

1. 安装ADB(Android Debug Bridge)软件包

apt-get install android-tools-adb

2. 打开手机的USB调试功能

这个步骤每种手机可能各不相同,请参考对应型号手机的帮助文档

若手机没有完全root,则需要安装adbd.apk应用。

3. 检查手机是否连接成功

adb devices

若上述命令的输出如下图所示,则表明手机已经成功连接:

4. 重新启动ADB后台

adb root

adb remount

注意:

第一条命令会以root账户重新启动ADB后台程序;

第二条命令会将/system分区以/read/write模式重新挂载

5. 检查ADB后台是否成功重新启动

adb shell id

若上述命令的输出如下图所示,则表示ADB后台程序重新启动成功:

6. 上传tcpdump可执行文件

cd /root/Downloads/tcpdump-4.7.4

adb push tcpdump /system/xbin/

7. 检查tcpdump是否安装成功

adb shell tcpdump -h

若上述命令的输出如下图所示,则表示tcpdump已经在手机上安装成功:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表