Android编译tcpdump,android 5.0以上使用tcpdump
站在巨人的肩上
tcpdump是一个运行在命令行的数据网络抓包工具,它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。
一. 准备
设备具有root权限
tcpdump 二进制文件
wireshark 软件
二.安装
通过adb命令在设备端安装tcpdump,安装的目的主要是需要通过tcpdump采集网络数据包
adb shell #登入shell环境
su #切换Root用户
chmod 777 /data/local/ #修改目录权限,修改后Ctrl+C退出adb shell
adb push tcpdump /data/local/tcpdump (上传文件至设备)
adb shell chmod 6755 /data/local/tcpdump (设置tcpdump权限)
电脑端安装wireshark 软件,用于分析已抓取到的网络数据包,和其他软件安装的方式无差异,略
三. 使用
抓包
adb shell
su
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
获取结果,PC端可以使用wireshark查看数据包
adb pull /sdcard/capture.pcap(将数据包复制到电脑中)
四. 遇到的问题
使用android 6.0系统的手机 tcpdump抓包时,报error: only position independent executables (PIE) are supported.
报错原因:PIE安全机制所引起的,从Android4.1开始引入该机制,Android L之前的系统版本并不会去检验可执行文件是否基于PIE编译出的。因此不会报错。但是Android L已经开启验证,如果调用的可执行文件不是基于PIE方式编译的,无法使用。
解决方案:由于tcpdump是开源的,重编译tcpdump的时候加上如下的flag就行。
LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE
PS:由于有前辈已经新编译好了的tcpdump,并经测试ok,不再折腾怎么去编译,后面附上大神博客,感谢。
Android编译tcpdump,android 5.0以上使用tcpdump相关推荐
- android编译ijkplayer,android studio 3.0 集成ijkplayer
一.ijkplayer编译过程略,有兴趣的朋友可以再研究,以下以编译好的版本讲解. 将ijkplayer相关的so及aar文件复制到app下的libs目录,为支持多版本的手机使用,将所有的so文件都复 ...
- android 编译主机,Android】源码编译 ---zzz
问题解决 参考 1)/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够 解决:chmod a+x ...
- 全志 android 编译,全志Android SDK编译详解(二)
注意要确定安装了jdk) 第一步: cd lichee; ./build.sh -p sun5i_elite -k 3.0 (apt-get install uboot-mkimage需要安装m ...
- ogre android 编译,Ogre3d Android平台编译教程
上一篇我们讲了Ogre3d 在 Window平台的编译流程方法 这一篇我们介绍 Ogre3d 编译到Android 平台的方法.可以和官方英文教程对照学习. 转载自博客 http://blog.csd ...
- android 编译宏,android 添加全局变量宏开关的三种方式
开发的时候,我们经常会有这样的一种需求: 在什么位置(如db)保存一个变量,可以跨应用的读写此值. system.prop 我们可以在system.prop中定义一个宏开关,可以很好的实现此目的. 此 ...
- H6机顶盒Android编译[2]-Android编译
注意:本人也是第一次android编译,记录其过程为方便自己,同时给初学者提供参考,不正确之处还望包含指正! 前言 使用易新泰的H6机顶盒平台,搭载全志H6处理器,使用易新泰提供的SDK环境,使用ub ...
- linux mp4v2编译,Android 编译mp4 v2 2.0.0生成动态库
6.最后在jni目录下的终端中输入ndk-build,结果如下: root@zhangjie:/home/zhangjie/mp4v2-2.0.0/jni# ndk-build Android NDK ...
- Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager
http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/
- ffplay android 编译,ffmpeg android 平台编译
? ? ?ffmpeg 在移动平台上应用十分广泛,其在音视频编解码,封装多媒体文件格式,rtsp http rtmp协议相关的音视频推流拉流具有强大的可用性.这里将自己平时为Android平台编译ff ...
- android编译终止,android - Android NDK-没有此类文件或目录编译终止-头文件导出问题 - 堆栈内存溢出...
我正在尝试使用NDK将TagLib C ++库( http://taglib.github.io/ )导入Android. 通过按如下所示将所有源代码放在/jni/taglibroot/下,我能够成功 ...
最新文章
- C/C++中Static的作用详述
- 面向对象设计模式纵横谈:Singelton单件模式(笔记记录)
- Id.exe和ld.exe: cannot open output file … : Permission denied问题。
- android 马甲包 app,寻 实力android马甲包上架技术
- Ubuntu从零安装 Hadoop And Spark
- oneproxy mysql_在OneProxy的基础上实行MySQL读写分离与负载均衡
- Android Studio中Gradle使用详解
- Mysql调试存储过程最简单的方法
- 智慧工厂应用系统建设方案
- GitHub上传教程,图文并茂
- 七人成团即拼即赚七人拼团模式解析
- 禁止滚动条滚动和移除禁止
- Python V-ing 变化小程序
- activiti报错:cvc-datatype-valid.1.2.1: '1' 不是 'NCName' 的有效值。
- 【日语口语词典学习】第0001页
- 发售GIGABYTE制的Atom搭载Convertible UMPC「M912X」,价格79,800日元
- ftp服务器响应很慢,有果必有因:FTP传输速率慢和TCP窗口、网络时延的因果案例...
- 常用计算机键盘系列快捷键、命令行行快捷键、qq快捷键、IE浏览器快捷键
- Sql-labs 第一关超详细讲解
- 电脑开机需要等几分钟才能联网的解决 与dnf、lol游戏有关
热门文章
- VUE ---- Windows7环境下安装
- linux中运行stat报错,Linux 格式化分区 报错Could not stat
- Java的%=是什么意思?%=运算的正确使用
- php员工信息表_一键:快速采集汇总个税专项附加扣除信息
- 为什么使用@tablename起别名产生的sql语句不能用_宜信-运维-SQL优化|一文说清Oracle Hint的正确使用姿势...
- 计算机无法检测更新失败怎么办,Win10电脑更新失败提示你的设备中缺少重要的安全和质量修复如何解决...
- jquery常用方法收藏 .
- 在ASP.NET应用程序中使用身份模拟(Impersonation)
- 操作SDO_GEOMETRY字段
- Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network