1. root 手机

2. 下载tcpdump 地址: http://www.strazzere.com/android/tcpdump

3. adb shell 进入手机修改/data/local权限

1. adb shell #登入手机

2. su #切换Root用户 (需要SuperSu Free 授权)

3. chmod 777 /data/local/ #修改目录权限,

4. 修改后Ctrl+C / Ctrl + D 退出adb shell

4. 将tcpdump程序copy到android手机

1. adb push ./tcpdump /data/local # 若提示Permission denied 则使用方法2

2. 先传到sdcard中再移动

adb push ./tcpdump /sdcard

adb shell

cd /data/local

su

mv /sdcard/tcpdump .

5. adb进入手机修改tcpdump的权限,修改为可执行权限

su #切换Root用户

chmod 777 /data/local/tcpdump #增加可执行权限

# 常用抓取命令

adb shell rm /sdcard/capture.pcap

adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/capture.pcap

adb pull /sdcard/capture.pcap capture.pcap

用wireshark 打开capture.pcap即可查看数据包

# tcpdump 参数说明

"-i any": listen on any network interface

"-p": disable promiscuous mode (doesn't work anyway)

"-s 0": capture the entire packet

"-w": write packets to a file (rather than printing to stdout)

... do whatever you want to capture, then ^C to stop it ...

# 错误处理

1."./tcpdump": error: only position independent executables (PIE) are supported.

PIE这个安全机制从4.1引入,但是Android L之前的系统版本并不会去检验可执行文件是否基于PIE编译出的。因此不会报错。但是Android L已经开启验证,如果调用的可执行文件不是基于PIE方式编译的,则无法运行。解决办法非常简单,在Android.mk中加入如下flag就行。

LOCAL_CFLAGS += -pie -fPIE

LOCAL_LDFLAGS += -pie -fPIE

已编译好的tcpdump下载[tcpdump](https://leanote.com/api/file/getAttach?fileId=5cfde981ab6441607d005901)

2.CANNOT LINK EXECUTABLE "./tcpdump": cannot locate symbol "OPENSSL_add_all_algorithms_noconf" referenced by "/data/local/tcpdump"...

下载最新的tcpdump https://www.androidtcpdump.com/android-tcpdump/downloads

# 参考:

https://www.jianshu.com/p/ca6cdc825ad3

http://www.yinqisen.cn/blog-543.html

Android编译tcpdump,android 使用tcpdump相关推荐

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

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

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

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

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

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

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

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

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

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

  6. android 编译luajit,Android 嵌入 LuaJIT 的曲折道路

    相关链接:Windows 下编译 LuaJIT 懒人与伸手党可以直接看最底部. 为什么使用 LuaJIT Lua 官方版的编译嵌入相对简单,但是为什么要用 LuaJIT 呢?我所了解到的优势有: 更高 ...

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

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

  8. android 编译sdk,android编译sdk

    android在编译源代码的时候不需要配置相应的jdk,而在编译sdk的时候,当sdk版本不兼容的时候 The Sun JDK is no longer in Ubuntu's main packag ...

  9. Android编译Lambda,Android lambda 入门教程

    用20分钟的时间,再来了解下 Lambda 表达式.为什么要学习 Lambda 表达式呢?毕竟现在的 Android 使用的 JDK 版本官方并不支持 Lambda.这里列出了一些需要理由,来说明为什 ...

  10. android 编译 libjpeg,Android 编译libjpeg

    之前需要将yuv转换为jpg图像,查看网上说libjpeg-turbo比libjpeg快2-3倍,但是在Android手机上实践了一下,需要40-60个ms,这个虽然比以前的300ms好多了,但是还是 ...

最新文章

  1. kuangbin专题16B(kmp模板)
  2. Java Persistence API中的FetchType LAZY和EAGER之间的区别?
  3. switch( )的经典引用
  4. 7-1 抓老鼠啊~是亏了还是赚了?
  5. Android SQL删除表、清空表
  6. 喜马拉雅xm格式转化mp3_强大的视频格式转换工具
  7. UE4 四叉树 QuadTree
  8. Istio 南北向流量管理
  9. Window Server 2008 概述
  10. 关于北京市电气火灾综合治理实施方案通知的解读
  11. 深入浅出PaddlePaddle函数——paddle.ones_like
  12. css3 烟 蚊香_如何用纯 CSS 创作一盘传统蚊香
  13. webservice连接验证用户名密码
  14. 混合高斯模型原理和Lucas-Kanade方法介绍
  15. Yii2实现文件zip打包下载功能
  16. QQ发送json红包卡片消息(完整攻略)
  17. 华为鸿蒙研究团队,喜报!!衡水高中毕业生丁聪百万年薪入职华为鸿蒙研发团队...
  18. JVM内存设置多大合适?Xmx和Xmn如何设置?JVM内存分配比例
  19. Java 中的取近似值的方法
  20. 51单片机学习之DS18B20温度传感器

热门文章

  1. 内置函数enumerate()使用
  2. 第三章:使用 FildElements 来练习元素定位
  3. SQL - server 数据库基础知识
  4. delphi 实体类 JSON 数组
  5. IOS开发之Storyboard应用
  6. 在Linux下安装和使用MySQL(转)
  7. iphone 数据存储之属性和归档archive
  8. 重磅!2018人脸识别研究报告(附全文下载)
  9. 10天确定Python,运行环境(超详细步骤)
  10. 这种玩法闻所未闻,利用python编程自定义QQ的在线状态