首页 / 操作系统 / Linux / Android手机tcpdump抓包
最近一直在开发基于微信公众帐号的应用,在开发过程中遇到问题时,无法非常方便的获取到数据包,导致分析解决问题比较麻烦。这里介绍如何在Android手机上实现tcpdump抓包。1、root机器在用tcpdump抓包过程中,需要使用到root权限。当前可以进行root的方法有很多,个人推荐http://root.baidu.com/,安装使用挺方便的。2、准备adb工具ADB是Android手机开发包中自带的Bug调试工具,使用这个工具可以非常方便的通过PC对Android机器进行调试,在本人使用过程中经用将其用于在Android机器上面执行Shell命令1)adb shell,在PC机的命令终端中直接执行Android的Shell命令(也可以通过在Android机器上面安装命令终端等App来执行shell命令,从易用性来讲肯定没有使用adb shell方便的多,但也是一种方法)2)adb push local remote,将PC上的文件推送到Android机器上面的路径中3)adb pull remote local,从Android机器上面的文件拉取到PC指定的路径中3、安装tcpdumpAndroid系统虽然源自于Linux操作系统,为适用于手持设备环境的要求,对其进行一番简化阉割是无法避免的,其中tcpdump这调试分析神器,就在被阉割的行列。为正常使用tcpdump,我们需要在Android系统中安装一份tcpdump,主要步骤为:1)下载tcpdump包提供一份tcpdump包下载地址:http://www.strazzere.com/android/tcpdump2)上传tcpdump包到Android机器adb push d: cpdump /data/local/tmpremote安装目录需要根据情况进行自定义3)执行chmod 0777 tcpdump命令,赋予可执行权限(执行chmod a+x tcpdump反映失败,还没整明白啥原因)4、抓取数据到此为止,基本上已经完成了准备工作。tcpdump命令的具体使用方法可以参见tcpdump手册( http://www.tcpdump.org/)。在实际操作过程中,按照在Linux执行抓包的命令:tcpdump -Xnlps0 -i any port 80 -w pcap.cap时,却告知tcpdump: syntax error,查看帮助文档才发现不支持port类型过滤,为此最后将抓包命令简化为:./tcpdump -Xnlps0 -w pcap.cap,一不做二不休,将全部的包都抓下来,在PC机器上面用Wireshark也相当可行。5、分析数据正如上面所讲的,直接采用wireshark来分析数据比较方便。Linux系统安全工具之tcpdump http://www.linuxidc.com/Linux/2014-10/107889.htmLinux系统入门学习:如何使用tcpdump来捕获TCP SYN,ACK和FIN包 http://www.linuxidc.com/Linux/2014-10/107722.htmLinux运维工程师利器:Nmap和tcpdump http://www.linuxidc.com/Linux/2014-02/96993.htmtcpdump的用法及使用案例 http://www.linuxidc.com/Linux/2013-11/93200.htmLinux下实现 tcpdump http://www.linuxidc.com/Linux/2013-08/88775.htmLinux操作系统tcpdump抓包分析详解 http://www.linuxidc.com/Linux/2013-07/87309.htm更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109310.htm