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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:

零、准备工作

  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已经在手机上安装成功:

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
3月前
|
安全 Android开发 iOS开发
深入探索Android与iOS的差异:从系统架构到用户体验
在当今的智能手机市场中,Android和iOS无疑是最受欢迎的两大操作系统。本文旨在探讨这两个平台之间的主要差异,包括它们的系统架构、开发环境、安全性、以及用户体验等方面。通过对比分析,我们可以更好地理解为何不同的用户群体可能会偏好其中一个平台,以及这些偏好背后的技术原因。
|
3月前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
3天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
22 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
3天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
25 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
742 243
|
1月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
141 10
|
2月前
|
监控 数据可视化
如何通过建模工具实现企业架构治理全流程管理
企业架构治理工具通过构建统一的架构语言、可视化建模、流程管理、资源整合和多场景分析,实现企业架构的全生命周期管理。该工具赋能企业数字化转型,确保业务、平台、数据及技术相互耦合闭环,提供从规划到决策的一站式服务,助力提升业务运营、优化组织管理和加速数字化建设。
55 2
如何通过建模工具实现企业架构治理全流程管理
|
2月前
|
人工智能 芯片 Windows
ARM架构PC退货率与CEO策略透视
ARM架构PC退货率与CEO策略透视
|
2月前
|
网络协议 Linux Android开发
深入探索Android系统架构与性能优化
本文旨在为读者提供一个全面的视角,以理解Android系统的架构及其关键组件。我们将探讨Android的发展历程、核心特性以及如何通过有效的策略来提升应用的性能和用户体验。本文不包含常规的技术细节,而是聚焦于系统架构层面的深入分析,以及针对开发者的实际优化建议。
117 21
|
2月前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。