站在巨人的肩上

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相关推荐

  1. android编译ijkplayer,android studio 3.0 集成ijkplayer

    一.ijkplayer编译过程略,有兴趣的朋友可以再研究,以下以编译好的版本讲解. 将ijkplayer相关的so及aar文件复制到app下的libs目录,为支持多版本的手机使用,将所有的so文件都复 ...

  2. android 编译主机,Android】源码编译 ---zzz

    问题解决 参考 1)/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够 解决:chmod a+x ...

  3. 全志 android 编译,全志Android SDK编译详解(二)

    注意要确定安装了jdk) 第一步: cd  lichee; ./build.sh  -p sun5i_elite -k 3.0  (apt-get install uboot-mkimage需要安装m ...

  4. ogre android 编译,Ogre3d Android平台编译教程

    上一篇我们讲了Ogre3d 在 Window平台的编译流程方法 这一篇我们介绍 Ogre3d 编译到Android 平台的方法.可以和官方英文教程对照学习. 转载自博客 http://blog.csd ...

  5. android 编译宏,android 添加全局变量宏开关的三种方式

    开发的时候,我们经常会有这样的一种需求: 在什么位置(如db)保存一个变量,可以跨应用的读写此值. system.prop 我们可以在system.prop中定义一个宏开关,可以很好的实现此目的. 此 ...

  6. H6机顶盒Android编译[2]-Android编译

    注意:本人也是第一次android编译,记录其过程为方便自己,同时给初学者提供参考,不正确之处还望包含指正! 前言 使用易新泰的H6机顶盒平台,搭载全志H6处理器,使用易新泰提供的SDK环境,使用ub ...

  7. 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 ...

  8. Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager

    http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/

  9. ffplay android 编译,ffmpeg android 平台编译

    ? ? ?ffmpeg 在移动平台上应用十分广泛,其在音视频编解码,封装多媒体文件格式,rtsp http rtmp协议相关的音视频推流拉流具有强大的可用性.这里将自己平时为Android平台编译ff ...

  10. android编译终止,android - Android NDK-没有此类文件或目录编译终止-头文件导出问题 - 堆栈内存溢出...

    我正在尝试使用NDK将TagLib C ++库( http://taglib.github.io/ )导入Android. 通过按如下所示将所有源代码放在/jni/taglibroot/下,我能够成功 ...

最新文章

  1. C/C++中Static的作用详述
  2. 面向对象设计模式纵横谈:Singelton单件模式(笔记记录)
  3. Id.exe和ld.exe: cannot open output file … : Permission denied问题。
  4. android 马甲包 app,寻 实力android马甲包上架技术
  5. Ubuntu从零安装 Hadoop And Spark
  6. oneproxy mysql_在OneProxy的基础上实行MySQL读写分离与负载均衡
  7. Android Studio中Gradle使用详解
  8. Mysql调试存储过程最简单的方法
  9. 智慧工厂应用系统建设方案
  10. GitHub上传教程,图文并茂
  11. 七人成团即拼即赚七人拼团模式解析
  12. 禁止滚动条滚动和移除禁止
  13. Python V-ing 变化小程序
  14. activiti报错:cvc-datatype-valid.1.2.1: '1' 不是 'NCName' 的有效值。
  15. 【日语口语词典学习】第0001页
  16. 发售GIGABYTE制的Atom搭载Convertible UMPC「M912X」,价格79,800日元
  17. ftp服务器响应很慢,有果必有因:FTP传输速率慢和TCP窗口、网络时延的因果案例...
  18. 常用计算机键盘系列快捷键、命令行行快捷键、qq快捷键、IE浏览器快捷键
  19. Sql-labs 第一关超详细讲解
  20. 电脑开机需要等几分钟才能联网的解决 与dnf、lol游戏有关

热门文章

  1. VUE ---- Windows7环境下安装
  2. linux中运行stat报错,Linux 格式化分区 报错Could not stat
  3. Java的%=是什么意思?%=运算的正确使用
  4. php员工信息表_一键:快速采集汇总个税专项附加扣除信息
  5. 为什么使用@tablename起别名产生的sql语句不能用_宜信-运维-SQL优化|一文说清Oracle Hint的正确使用姿势...
  6. 计算机无法检测更新失败怎么办,Win10电脑更新失败提示你的设备中缺少重要的安全和质量修复如何解决...
  7. jquery常用方法收藏 .
  8. 在ASP.NET应用程序中使用身份模拟(Impersonation)
  9. 操作SDO_GEOMETRY字段
  10. Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network