《信息安全综合实验指导书.docx》由会员分享,可在线阅读,更多相关《信息安全综合实验指导书.docx(141页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、”片耶信息安全综合实验实验指导书专业实验中心2013-7第一早、设计环境及目的31. 头验环境32. 实验目的33. 参考资料3第二章、相关技术介绍41 .基于SSL的Android加密聊天系统42 . DMZ非军事化区的设计53 .利用WinHex工具实现磁盘数据恢复64 .网络安全配置管理实验7第三章、基于SSL的Android加密聊天系统82. 创个项目I.213. Android程序开发36第四章、DMZ非军事化区的设计451. 实验步骤452. 参考的网络拓扑图如下:453. 画网络拓扑图:454. 网络设备的配置465. 检测网络的连通性以及DMZ功能506. 自反访问控制列表介绍
2、577. 工作原理588. 使用真机设备实现DMZ58第五章、利用Wi nHex工具实现磁盘数据恢复601. 实验内容602. 课程设计报告613. 实验过程与指导:61第六章网络安全配置管理实验731. 实验内容总体描述732. 实验中所需参考资料733. 详细的实验内容及其所需呈现的实验结果74第一章、设计环境及目的1,实验环境Windows XP+Eclipse+ADT、Android 手机;网络模拟器 Gns3; WinHex; PacketTracer,迈普网络设备。2 .实验目的1)基于基于SSL的Android加密聊天系统深入理解SSL的原理,熟悉Android程序开发的般流程以
3、及调试技巧,实 现Android与PC的聊天程序。3 ) DMZ非军事化区的设计运用所学网络知识实现DMZ网络隔离。运用Packet Tracer软件模拟实现 DMZ功能;使用迈普网络设备,在真机上实现DMZ功能。3)利用WinHex工具实现磁盘数据恢复深入理解数据恢复相关知识,掌握WinHex工具的应用,熟悉WinHex工具 进行数据恢复的操作流程。掌握磁盘存储数据的基本原理,熟悉MBR、分区表、 扇区、簇等概念;能对Windows系统下的各种磁盘数据进行恢复。能够采用正 确的方法对数据恢复的结果进行验证。4)网络安全配置管理实验通过组织学生分析案例需求、设计网络安全方案,并在网络设备上进行
4、配置 操作实验,使学生掌握网络安全配置管理的常用技能。4 .参考资料各项目参考文献及资料详细査阅资源服务器:ftp:/172.16.38.100第二章、相关技术介绍1 .基于SSL的Android加密聊天系统手机操作系统平台Android是个开放源代码的操作系统,内核为Linuxo 平台的架构模型:ApplicationsHomePhoneAprlication FrameworkActMty Mi najtrWindow MirngerCorxenc ProvwdenView SpietnNotification Mmi2erPMklXe MiniverIctephony MinaferRe
5、MirwlocationXMPPSrvkeLibrariesAndroid RuntimeSurface Mjrifer_SQ(JteCorr LibnrietOpcnGL |E$FreeTypeWtWGt(DJWkVtffifilMachine二一1SGISSLIbcLinux Kernel.Display DoverCamn DrrverBKjetooch DnwUSB DriverKeypad DnwWDnwrRish MetnoryBinder (IPC)DriverDoverAudoPowrDrwenMrt31emem1)平台功能:+ Application framework:可重
6、用的和可替换的组件部分,在这个层面上,所有 的软件都是平等的。+ Dalvik virtul machine: 个基于 Linux 的虚拟机。+ Integrated browser: 个基于开源的WebKit引擎的浏览器,在应用程序层。+ Optimized graphics:包含个自定义的2D图形库和基于OpenGL ES 1.0标 准的3D实现。+ SQLite:数据库+ Media support:通用的音频,视频和对各种图片格式的支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)+ GSM Telephony: GSM 移动网络,硬件支持。+
7、 Bluetooth, EDGE, 3G, and WiFi:都依赖于硬件支持。+ Camera, GPS, compass, and accelerometer:都依赖于硬件支持。+ Rich development environment:包含套完整的开发工具集,方便跟踪调试, 内存检测和性能测试,而且提供了 Eclipse的插件。2)开发环境和对系统及相关软件的版本要求:操作系统:Windows XP or VistaMac OS X 10.4.8 or later (x86 only)Linux (tested on Linux Ubuntu Dapper Drake)Supporte
8、d Development EnvironmentsEclipseEclipse 3.2, 3.3 (Europa)Android Development Tools plugin (optional)Other development environments or IDEsJDK 5 or JDK 6 (JRE alone is not sufficient)Not compatible with Gnu Compiler for Java (gcj)Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows本
9、实验使用Eclipse 3.3 + JDK 1.6. + Ant 1.7的组合以及Android SDK以及 Android用于Eclipse中的插件。2 . DMZ非军事化区的设计DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事 化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题, 而设立的个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网 络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开 的服务器设施,如企业Web服务器、FTP服务器和论坛等。另方面,通过这 样个DMZ区域,更加有效地保护了内部
10、网络,因为这种网络部署,比起一般 的防火墙方案,对攻击者来说又多了一道关卡。本实验要求:1)掌握PacetTrVLANacer网络仿真软件的使用方法:2)熟练掌握如、ACL、OSPF、NAT等组网技术;3) 了解DMZ的概念、功能与设计方法;4)学习并掌握简单组网方案的设计;5)学习并掌握迈普S3400和迈普MP2818网络设备的配置方法;6)搭建并实现基于迈普网络设备的DMZ网络隔离。InternetMail服务龍3 .利用WinHex工具实现磁盘数据恢复数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比 如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不
11、 容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面 的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢 复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失 (比如误格式化,误分区),那么这样的数据恢复就叫软恢复。实验中我们主要采用软恢复,因为硬恢复还需要购买些工具设备(比如 pc3000,电烙铁,各种芯片、电路板),而且还需要懂点点电路基础。我们这 里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准 确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢 复数据提供便利。数据恢复的前提:数据不能被
12、二次破坏、覆盖.4 .网络安全配置管理实验GNS3是一款优秀的具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。Cisco网络设备管理员或是想要通过 CCNA,CCNP,CCIE 等 Cisco 认证考试的相关人士可以通过它来完成相关的实验模拟操作。同时它也可以用 于虚拟体验Cisco网际操作系统IOS或者是检验将要在真实的路由器上部署实施 的相关配置。简单说来它是dynamips的个图形前端,相比直接使用dynamips这样的虚 拟软件要更容易上手和更具有可操作性。GNS3整合了如下的软件:Dynamips: 款可以让用户直接运行Cis
13、co系统(IOS)的模拟器Dynagen:是Dynamips的文字显示前端Pemu: PIX防火墙设备模拟器。Winpcap: windows平台下个免费,公共的网络访问系统。开发winpcap 这个项目的目的在于为Win32应用程序提供访问网络底层的能力。第三章、基于SSL的Android加密聊天系统1 .搭建Android开发环境2 .安装JDK至 sun 官方网站 下载 JDK(1.5以上版本),或由BTG服务器上获取,然后安装。 安装完成后,将java的安装根目录配置为环境变量JAVA_HOME,并在 Path 环境变量中添加JAVA_HOME%bin、%JAVA_HOME%libdt
14、.jar 和JAVA_HOME%libtools.jar。3 .安装SDK 到 Android 官方网站 下载自己需耍 的 SDK (需 要 翻墙) , 也 可 由 1 .zip 载,或者直 接从BTG服务器上获取。 解压SDK的zip文件到指定目录,该目录即作为Android的主目录。 将Android主目录下的tools目录添加到Path环境变量。例:如将下载的SDK解压到D:android-sdk-windows-l.61,则在Path环境 D:android-sdk-windows-l,6_rl I tools 打开命令行工具输入android -h,测试android SDK是否配置
15、成功。4 .安装 Eclipse 至 eclipse 官方网站 http:/www.eclipse.org/downloads/ 下载 Eclipse3.4.2 版(低版本缺少plug-in后续步骤可能会出现问题),也可由BTG服 务器上获取。 解压缩后即可直接使用。(源码网整理:WWW. codepub. com)5 .安装ADT插件ADT 全称 Android Development Tools,它是款用于开发 android 应用 程序的eclipse插件,由于Android的官方网站需要翻墙,以下我们采用离线安 装的方式。 至 Google 官方地址 http:/dl-ssl.goog
16、le.eom/android/ADT-0.9.6.zip 下载 ADT离线包。 打开eclipse,按以下步骤安装ADT插件:1 .选择 Help Software Updates.菜单。2 .在出现的窗口中单击Available Software标签。3.点击右面的Add Site按钮。http:/dl-ssl. google, com/android/ec1 ipse4.在弹出的输入框中点击Archive按钮。5,在弹出窗口中找到下载的ADT离线包,点击OK按钮。6 .在Available Software标签将会出现项刚输入的文件地址,展开它之后选中前面的复选框。然后点击窗口右面的Ins
17、tall按钮,安装ADT插件。7 .安装完成后重新启动eclipse选择 Window Preferences菜单。Preferences窗口中若出现Android项说明安装成功。(如果安装失败,回到Software Updates and Add-ons界面,卸载ADT重新安装!)聲 Preferencesz8 .在Preferences窗口左面选择Android项,在右边的SDK Location输入框中输入SDK的根目录,然后单击右下角的0K按钮。Preferences80 filter tit Ant N*1, I*itall/U4at,J 0Android0,t bm/DVM Tn,
18、皿15工 ?AH25 濡:甥i A* *JteJA*aVb4r?latfAAa4rt 4 80 Swc FrejtctIS3XacI S3A4ri 4 Omb Swc Prj51 ,1 lac1 64A4ri 4 Oo Swc Frejwct2 0 16&11 Im2 0 16Aa#i 4 ” Swe Fr” New Project 菜单。2 .选择 Android Android Project然后点击 Nexto3 .在 Content 中选择 Project:1)选择Create new project in workspace以创建个新的工程,键入工程的名 字,程序的名称,base p
19、ackage的名字,Activity class的名字来创建一个stub .java 文件。2)选择Create project from existing source从现有代码创建一个工程。通过这 种方式,你可以编译运行SDK里面sample中的应用程序。sample应用程序在 SDK安装目录下的samples/中,找到包含有现有代码的路径并点击OK。如果路空中含有一个有效的Android的manifest file, ADT插件就会加载包名,程序名,二回区activity 名 New Android ProjectNew Android ProjectCreates a new Andr
20、oi d Proj ect resource.Project name: HelloActivityContentsCreate new project in workspace Create project from existing source 旧Us- defftult locationLocation: D:tndroid-sdk-windows-rOqplatfofmsandroid-jsamp I Browse.Create project from existing sampleBuild TargetVendorPlatform AP.0匚匚口口匚口Androi d 1.5
21、Google APIs Androi d 1.6 Google XPIs Android 2.0. 1 Google APIs Android 2.1 Google APIsAndroid Open Source Project Google Inc.Android Open Soiirce Project Google Inc.Android Open Soiirce ProjectGoogle Inc.Android Open Sohc Project Google Inc.Properti esApplication name:Package name:yiCreate Activity
22、Min SDK Vision: BackNext J Finish ) | Cancel4 .点击Finish, ADT插件会根据工程的类型创建以下合适的文件夹和文件: src/文件夹包含 stub .java activity fileres/文件夹包含资源文件AndroidMani fest. xm! 工程的 manifest2.创建一个项目安装Eclipse 3.2或3.3及相关插件。开发步骤如下:a.过 File - New - Project 菜单,建立新项目Android Project;b.填写新项目各种参数;c.编辑自动生成的代码模板。详细步骤如下:创建一个新的Android项
23、目启动Eclipse,选择File - New - Project菜单,如果你安装好了 Android的 Eclipse插件,你将会在弹出的对话框中看到Android Projec的选项。选择“Android Project”,点击 Next 按钮。填写项目的细节参数下面的对话框需要你输入与项目有关的参数:占 New Android Project x*New Android ProjectCreates a new Android Project resource.OProject name: |HelloAndroidContents Create new project in works
24、pace Create project from existing source0 Use default locationPropertiesPackage name: |com.google.android .helloActivity name; |HelloAndroidApplication name: Hello, Android Open Run Dialogo你将会看到下面的对话框, 1 白#, gamj Apache Tomcat 直!C/C+ Local Appl Eclipse Applicatior kj Eclipse Data Tools 3 Generic Ser
25、ver Genenc Server OSGi Framework 29 Python CoveragePvthon Run 11Filter matched 20 of 20Configure launch settings from this dialog:- Press the New* button to create a configuration of the selected type.- Press the Duplicate* button to copy the selected configuration.X Press the Delete* button to remo
26、ve the selected configuration.Press the Fifter* button to configure filtenng options.- Edit or view an existing configuration by selecting it.Configure launch perspective settings from the Perspautives preference page.Create, manage, and run configurationsAndroid Application下步,高亮Android Application标
27、签,然后按下左上角的图标(就是像一片 纸带个小星星那个),或者直接双击Android Application标签,你将会看到 个新的运行项目,名为New_configuration.取个可以表意的名称,比如Hello, Android,然后通过Browser按钮选取你 的项目(如果你有很多个项目在氏lipse中,确保你选择要运行的项目),然后插件 会自动搜索在你的项目中的Activity类并且将所有找到的添加在Activity标签 的下拉列表中。我们只有Hello, Android个项目,所以它会作为默认选择。 点击Apply按钮,下图到这里,已经完成了,你只需要点击Run”按钮,然后Andr
28、oid的模拟器将会启动,你的应用程序就会被显示出来。Hello, Android下次继续介绍如何把界面的布局用XML表示以及使用命令行进行编译和运行 Android 程序。将界面实现用XML编排你刚刚完成的Hello, World例子我们称之为“程序化”的界面编排。意思就 是说构建你的应用程序界面是直接使用的源代码。如果你已经完成过很多界面程 序,你大概熟悉像此类的方式是多么脆弱:个对布局小小的修改会对源代码造 成很头疼的事情。如果忘掉与View的紧密结合,这个导致代码出错和浪费你的 调试时间的界面问题也会很简单。这就是为什么Android提供了一种可替换的界面构建方式:基于XML的布 局文件
29、。最简单的解释这个概念的方式就是展示一个例子。我们就用刚创建的 项目来进行演示,达到相同的界面效果。AndroidXML布局文件的大体的结构很简单。它是个标签的树,任何个 标签就是View类的名字。在这个例子中,它是个很简单的只有一个元素的树, 个TextView。你可以使用任何继承自View类的名字作为标签的名字。包括 在你的代码中自定义的View类。这个结构可以很容易的构建界面,它比你在源 代码中使用的结构和语法更简单。这个模式的设计灵感来自于Web开发。就是 可以将界面和应用程序逻辑分离的模式。在这个例子中,也有些是XML的属性,下面是他们的含义:属性含义xmlns:android这是X
30、ML命名空间的声明,它是告诉Android的工具,你 将要涉及到公共的属性已被定义在XML命名空间。在 每个Android的布局文件的最外边的标签必须有这个 属性。android: layout_width这个属性定义了在屏幕上这个View可用的宽度是多少。android: layout_height这个属性定义了在屏幕上这个View可用的高度是多少。android:text设置TextView所包含的文本内容,当前设置为” Hello, Android n 信息以上就是个XML布局文件的样子,但是你需要放在哪里?它要放在你的 项目目录的res/文件夹下。“res”是“ resources”的
31、缩写,它是存放所有非代 码资源的文件夹,包含象图片,本地化字符串和XML布局文件。这些Eclipse 的插件已经给你创建好了,在我们上面的例子中,我们没有使用它。在包浏览器 中,展开res目录的layout,并且编辑main.xml,替换掉那个文本内容,然后保 存。现在,在包浏览状态,打开在代码文件夹中名为R.java的文件,你将看到 下面的内容:public final class R public static final class attr ;public static final class drawable public static final int icon=0x7f0200
32、00;;public static final class layout public static final int main=0x7f030000;);public static final class string public static final int app_name=Ox7f040000;;);个项目的R.java文件是一个定义所有资源的索引文件。使用这个类就像使 用种速记方式来引用你项目中包含的资源。这个有点特别的强大像对于Eclipse 这类IDE的代码编译特性,因为它使你快速的,互动式的定位你正在寻找的特 定引用。到目前需要注意的重要事情是叫做 layou的内部类和
33、他的成员变量” main”,插件会通知你添加一个新的XML布局文件,然后从新产生这个R.java 文件,比如你添加了新的资源到你的项目,你将会看到R.java也相应的改变了最后重要的事情是你需要去修改你的HelloAndroid源代码,去使用新的 XML布局你的界面。替换掉编码式的界面模式。下面是你的新代码的样子,你 可以看到,代码变得更加简单了。public class HelloAndroid extends Activity Overridepublic void onCreate(Bundle icicle) super.onCreate(icicle);setContentView(
34、R.layout.main);)当你做这些改变的时候,不要仅仅复制,粘贴到你的代码中,尝试去体验 R.java的代码编译特点。你会发现它对你有很大的帮助。现在完成这些改变以后,你就可以重新运行你的程序,然后你会发现两种不 同的界面编排方式会产生同样的效果。调试你的项目这个用于Eclipse中的Android插件作为Eclipse中的调试器也具有优秀的兼容性。 要演示这些,让我们制造个bug在代码中,改变你的HelloAndroid源代码象下 面这样:public class HelloAndroid extends Activity Overridepublic void onCreate(B
35、undle icicle) super.onCreate(icicle);Object o = null;o.toString();setContent View(R.layout.main);)这次简单的变化会引起一个NullPointerException异常,如果你再次运行程序,你将会看到屏幕要找到什么地方出错,需要设置个断点在你源代码的Objecto = null;”行后(你可以双击在Eclipse中显示行数的左部区域),然后选择Run - Debug选择最后一次的运行加载。你的程序将会重起模拟器,但是这个时候它 会挂起,当它走到你刚设置的断点的时候,在Eclipse的调试模式视图中,
36、它 就会停止在你的代码处。就像你可以在其他任意程序中做这个样。使用其它的IDE工具创建项目调试你的项目,这个用于Eclipse中的Android插件作为Eclipse中的调试器也 具有优秀的兼容性。要演示这些,让我们制造个bug在代码中,改变你的 HelloAndroid源代码象下面这样:public class HelloAndroid extends Activity /* Called when the activity is first created. */Overridepublic void onCreate(Bundle icicle) super.onCreate(icicl
37、e);Object o = null;o.toStringO;setContent View(R.layout.main);这次简单的变化会引起一个NullPointerException异常,如果你再次运行程 序,你将会看到下面的屏幕。要找到什么地方出错,需要设置个断点在你源代码 的-Object = nuU;“行后(你可以双击在Eclipse中显示行数的左部区域),然后 选择Run - Debug选择最后一次的运行加载。你的程序将会重起模拟器,但 是这个时候它会挂起,当它走到你刚设置的断点的时候,在Eclipse的调试模 式视图中,它就会停止在你的代码处。就像你可以在其他任意程序中做这个样。An error has occurred in process com.google.android.hello. Unable to start activityCompo