考虑在linux层上下功夫
于是采用linux的tcpdump来实现了抓包的功能
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。
对于tcpdump详细的可以参考http://baike.baidu.com/view/76504.htm?fr=ala0_1_1百度百科的介绍
我这里主要介绍一下如何在Android上使用tcpdump
我所采用的测试机是破解版G2和模拟器
具体的就是在APK程序里执行linux命令
引用
tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
这样就能够将抓到的包在sdcard上写一个capture.pcap文件
而这个文件可以用wireshark在PC上打开进行查看 非常方便
具体的源代码如下
MainHook.java
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainHook extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
//Runtime.getRuntime().exec("su");
//Runtime.getRuntime().exec("dd if=/sdcard/tcpdump of=/data/local/tcpdump");
//Runtime.getRuntime().exec("chmod 6755 /data/local/tcpdump");
Runtime.getRuntime().exec("tcpdump -p -vv -s 0 -w /sdcard/capture.pcap");
Log.i("run","success!!!!!!!!!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("run",e.toString());
}
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="zy.hook"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainHook"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
尤其不要忘记了权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
的声明
运行程序我们就可以抓包了
会在sdcard上生成capture.pcap文件
抓一段时间之后,将文件从sdcard上导出
然后我们用wireshark打开
可以非常方便的查看我们抓到的包
希望能够对大家有用
- 大小: 9.6 KB
- 大小: 217.6 KB
分享到:
相关推荐
在Android设备上,由于系统安全性的限制,普通用户无法直接使用像Wireshark这样的桌面抓包工具。不过,我们可以利用命令行工具tcpdump来实现这一功能。 二、tcpdump工具介绍 tcpdump是一款强大的网络协议分析器,...
Android抓包工具Tcpdump是一款强大的网络封包分析软件,它允许开发者捕获并记录网络上的数据包,以便分析网络通信的问题,或者监控网络活动。下面将详细介绍Tcpdump在Android上的使用和其重要性。 首先,我们要理解...
安卓手机网络抓包工具,必须root,抓包后生成网络文件,可用wireshark进行tcp链接分析。必须放在rom里面加可执行能力。常用命令: /data/local/tmp/tcpdump -i wlan0 -p -vv -s 0 -w /mnt/sdcard/apollo/in.pcap ...
arm下抓包工具 Linux version 4.14
由于Android系统的安全机制,大多数应用程序没有root权限,因此不能直接使用tcpdump工具进行抓包。然而,通过一些特殊的技术手段,我们可以在非root的Android设备上实现抓包功能。 首先,理解tcpdump的运行需求。...
在Android平台上,tcpdump是一款非常实用的命令行抓包工具,它允许用户捕获网络上的数据包并进行分析。 tcpdump的名称来源于"TCP dump",它最初是为Unix系统设计的,但现在已被广泛移植到包括Android在内的各种平台...
tcpdump是一款广泛使用的...总结来说,tcpdump是一款强大的网络抓包工具,通过离线安装包,用户可以在没有互联网连接的情况下在系统上安装和使用。掌握其基本用法和过滤技巧,对于提升网络管理和故障排查能力至关重要。
在Android平台上,tcpdump成为开发者和网络管理员诊断网络问题、监控网络流量的重要工具。 tcpdump的工作原理基于网络嗅探,即在数据链路层获取网络上的所有数据包。它能够捕获到通过网络接口进出的所有数据,这些...
Linux 下抓包工具 tcpdump 使用介绍 tcpdump 是一个功能强大且灵活的抓包工具,广泛应用于网络分析和测试技术中。下面是 tcpdump 的一些重要知识点: 1. Ether 广播包的匹配:tcpdump 可以匹配 ether 广播包, ...
下面我们将深入探讨tcpdump在Android上的使用方法、功能及其相关知识点。 一、tcpdump基本原理 tcpdump基于libpcap库,它能够实时捕获网络上的数据包,并根据预设的过滤规则进行解析和显示。它支持多种网络协议,...
本篇文章将详细介绍如何在Android应用中使用tcpdump进行抓包操作,以及如何解析和利用捕获的数据。 首先,tcpdump是一个命令行工具,主要用于网络封包分析。在Linux系统中广泛使用,而在Android设备上,由于其基于...
总的来说,tcpdump作为一款强大的网络抓包工具,是IT专业人士必备的技能之一。掌握它的使用,不仅可以提升网络问题解决能力,也是深入理解TCP/IP协议的重要途径。在实际工作中,灵活运用tcpdump和相关工具,能有效...
tcpdump 的使用非常灵活,它通过命令行界面操作,允许用户指定各种参数来控制抓包的行为。例如,你可以指定监听哪个网络接口,过滤特定类型的网络流量,或者将捕获的数据包保存到文件以便后续分析。 以下是一些基本...
本篇将重点介绍Android TPC(TCP)抓包工具及其使用方法。 首先,我们要知道TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,广泛应用于互联网通信。在Android设备上...
在IT行业中,网络调试是开发和优化应用过程中不可或缺的一环,而抓包工具则扮演了重要角色。在安卓系统上,TCPDump是一个广泛使用的命令行工具,用于捕获网络通信数据,以便分析网络流量和诊断问题。本篇文章将详细...
抓包很简单 adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap # “-p”: disable promiscuous mode (doesn’t work anyway) # “-s 0″: capture the entire packet # “-w”: write packets to a ...
由于Android系统默认的安全策略,想要在设备上运行像tcpdump这样的网络抓包工具,首先需要获取Root权限。根据部分内容描述,推荐使用“卓大师刷机专家”这类工具来简化Root过程。值得注意的是,不同手机型号可能对...
总的来说,Android下的TCPDump安装和抓包是一项技术性较强的操作,需要一定的Linux和网络基础。正确使用TCPDump可以帮助我们深入了解网络通信过程,解决网络问题,甚至进行安全分析。记得在使用后删除不必要的抓包...
Linux/Unix系统中,tcpdump是一款非常强大的网络数据包分析工具,它允许用户实时监控网络通信或者将捕获的数据包保存到文件以便后续分析。tcpdump的使用涉及到网络协议、命令行参数、过滤规则等多个方面的知识。 ...