除了标准的Linux内核外,GOOGLE还给Android增加了新的内核驱动程序,主要有:Binder(IPC)驱动、输入设备驱动、显示驱动、WiFi驱动等等。
第二层:本地框架与Java运行环境论文网
包括本地框架、系统C库、多媒体库、Suface Manager、LibWebCore、SGL、3D libraries、FreeType、Android运行环境(ANDROID RUNTIME)、Dalvik等等。
第三层:Android应用框架(ANDROID FRAMEWORK)
开发过程中我们可以完全访问使用核心的API。
第四层:Android应用程序(APPLICATIONS)
这次主要涉及的内容在LINUX层跟JAVA层,通过ADB写LINUX指令来达到调用TCPDUMP抓包的目的,具体编程的过程中还涉及了安卓开发的许多内容,如权限问题,控件使用和实机连接等问题。
这里提供了一种开发智能手机抓包程序的方案,使用LINUX下的SOCKET抓包,但是安卓下LINUX的SOCKET究竟如何使用,是否有特定的借口与规范都是问题,因此这个方案后来被我放弃了。
1.2.2 如何架设安卓软件开发环境
这次开发使用的是在WINDOWS平台下的ECLIPSE中开发安卓应用软件。首先说下我的开发环境的配置,本文的开发环境是WINDOWS 32位下的ECLIPSE+安卓SDK与AVD,测试大部分是在AVD上进行的,也测试过较多的智能手机,事实证明只要是安卓的系统,显示部分也就是PCAP文件解码部分是通用的,但是由于不同手机的内核不同,系统版本的诧异,安装TCPDUMP跟抓包这两个过程都需要更多尝试与调整才能适用。ECLIPSE的安装是直接解压,略过详细说明。下面是配置开发环境的步骤:
1、安装JDK
需要首先安装JDK,直接解压之后配置JDK路径,先打开计算机属性,然后按照图1.1的指示添加JDK/BIN文件的路径到变量值中。注意路径不要有中文。这里尤其要注意路径的配置,如果配置不正确是无法使用之后的软件跟工具的。验证是否配置正确的方法是WIN+R数据CMD回车,调出控制台后在其中数据”JAVAC”如果可以使用则路径配置正确,如果输出的是没有此命令,则路径配置可能出现了错误,要保证路径是JDK解压后的文件路径。具体配置如图1.1:
配置JDK路径
安装过后用CMD打开控制台输“JAVA”看看是否配置正确。
2、安装SDK
方法类似于安装JDK,也要配置路径,方法如上,只是路径改为SDK文件里
TOOLS的路径。
3、安装ADT
安装方法是打开ECLIPSE中的HELP菜单,打开INSTALL NEW SOFTWARE,然后添加下载安装的网址进行更新。这里由于国内的网络连接不是非常稳定,需要几个小时的时间才能全部下载完毕,但是其中包括的一些示例代码,说明文档等对学校安卓开发非常有帮助。文献综述
安装ADT
4、重启ECLIPSE完成安装
之后就可以自己创建一个安卓虚拟机,再创建一个安卓应用程序在上面模拟运行了。
这样就初步可以开发安卓应用程序了,在此基础上还需要许多时间学习安卓自己的开发方法。
1.3课题研究的主要内容
1、熟悉Android操作系统,并掌握Android环境下的程序开发方法;
2、设计和实现一个简单的Sniffer工具,重点对TCP、UDP等数据包进行分析;
3、利用开发的Sniffer分析MSN的通信特征和协议格式。
1.4章节安排
本次研究主要基于安卓手机上的MSN软件,研究了安卓应用软件的开发,手机端底层抓包的实现,MSN的通讯协议格式,开发了一款智能手机抓包软件并能针对PCAP文件进行分析。研究出了一种较为普遍的研究安卓即时通讯软件协议的方法。根据本人所做工作,论文分五章,具体内容安排如下: