物联网管理与信息安全

本科实验报告
2023年 10 月 16 日
其中nmap部分用了Linux,部分内容仍然无法实现,仅供参考

实验一 设备管理配置和实现

一、实验目的

(1)掌握SNMP协议的工作模式和被管对象;(2)了解MIB的管理信息结构和OID表示方法;(3)通过实验基于MIB-II数据库的功能组查看设备的协议、系统和应用信息。

二、实验要求

1、熟悉实验原理,包括SNMP工作模式、设备IP地址、MIB结构和功能组成、对象(模式)标识符OID和管理对象描述。

2、按实验步骤完成有关SNMP的环境搭建和MIB信息浏览实验,提供各项实验结果。

3、对提出的思考问题进行解答。

三、实验环境

1、仿真软件 Cisco Packet Tracer 5.3以上版本。

2、被管Windows系统主机和SNMPUTIL管理者工具软件

3、SNMP管理网络拓扑

img

图1-1(a) 管理路由器网络结构

IP地址:

路由器管理地址:R1841:interface fa0/0 192.168.1.1/24

交换机管理地址:SW29: interface VLAN 1 192.168.1.2/24

管理者PC地址: 192.168.1.10/24

img

图1-1(b) 管理主机网络结构

IP地址:

被管主机地址:192.168.3.6/24

管理主机地址:192.168.3.16/24

四、实验原理

简单网络管理协议snmp是它是由一系列协议组和规范组成的,它们提供了一种从网络上的设备b包括主机、终端、网络通信设备等收集管理信息的方法。

Snmp体系结构:分为snmp管理者和snmp代理者,每一个支持snmp的网络设备中都 包含一个网管代理,网管代理随时记录网络设备的各种信息,网络管理再通过snmp通信协议收集网管代理所记录的信息。收集数据的两种方法:轮询方法和基于中断的方法。

陷入制导轮询方法:它是执行网络管理最有效的方法,它是轮询方法和基于中断方法的结合。轮询方法:网络管理者向网管代理发出查询信息,网管代理根据查询要求向网络管理者发送被管理设备的状态信息。基于中断方法:也叫陷阱,它不需要网络管理者的查询要求,一旦被管理设备发生异常事件时,就会自动向网络管理者发送报警信息。

Snmpv1:snmpv1是snmp的第一个版本,它主要包括的操作有:get、get-next、set、traps,其中trap通用陷阱的状态类型有7种,分别是:(0)冷启动、(1)热启动、(2)链路故障、(3)链路正常、(4)鉴别失败、(5)esp邻站消失、(6)特定企业。

snmpv2:snmpv2是snmp的第二个版本,主要在snmpv1的基础上增加了两个操作:Get-Bulk和InformRequest。其它方面也做了一些改进。

img

图1-2 MIB树

img

图1-3 通信模式

五、实验步骤

(一) SNMP管理路由器实验步骤

1、确定OID(对象标示符),以获得网络设备的系统信息。在操作访问MIB(管理信息库)时,它查找的数节点路径是1.3.6.1.2.1.1(或者用iso.org.dod.internet.mgmt.mib-2.system),只要对这个节点信息进行操作就可以了。

2、交换机SNMP代理设置(enable)

Hostname SW29
interface Vlan1
ip address 192.168.1.2 255.255.255.0
no shutdown
exit
snmp-server community jikeso RO   //设置只读MIB信息的通信认证口令
snmp-server community jikesw RW   //设置读写MIB信息的通信认证口令

img

3、路由器SNMP代理设置

Hostname R1841
interface fa0/0
ip address 192.168.1.1 255.255.255.0
no shutdown
exit
snmp-server community jikero RO    //设置只读MIB信息的通信认证口令
snmp-server community jikerw RW    //设置读写MIB信息的通信认证口令

img

4、 首先点进PC,进入PC桌面,设置PC管理者的IP地址和默认网管192.168.1.1。

img

img

5、选择MIB Browser进入SNMP管理者下列界面

img

选择Advanced,填入需要管理网络设备的IP地址(这里以路由器设备为例,其他设备设置以此类推),填入设备上community值,这是网络设备对网络管理者身份认证。

img

6、Get操作获取数据

选择MIB Tree并打开ROUTER—std MIBS树,点击要查看的属性键,在Operation选择get操作,Go执行而查看对应的OID和数据内容。执行Get操作,从SNMP代理获得路由器的系统信息和描述信息,包括了设备的型号和协议参数等。

img

img

7、Set操作配置参数

选择system.sysname属性键,在Operation选择Set操作,Go执行而进入设置窗口;可以修改和重新设置网络设备对应的OID的协议参数。

img

img

选择对应于抽象语法的Data Type;修改Value后OK;点击Go执行并查看修改后的数据内容。

img

img

在路由器的命令行中敲几个回车你就看到hostname相应的值变为jikeStar。如下图:

img

img

8、通过MIBBrowser落实网络运行数据监视和修改

通过不断的Get和Set查看数据和配置,体验通过SNMP实现协议配置和设备管理的过程。

(二) SNMP管理主机实验步骤

  • 服务器端操作

1、windows操作系统snmp安装

(1)SNMP 曾经是 Windows 早期版本中的一项预装功能。但是,SNMP 现在被视为已弃用,并在 Windows 10 版本 1809 及更高版本中成为可选功能/按需功能 (FOD)。Windows 现在建议使用 Windows 远程管理支持的公共信息模型 (CIM)。在最新的 Windows 10 版本中,可以使用可选功能选项通过设置应用程序安装和启用 SNMP。{对添加/删除Windows组件对话框截图}

img

2、windows操作系统snmp配置

(1)右击【我的电脑】选择【管理】,在左边列表中找到【服务】,然后在服务列表中找到【snmp】服务,打开它的属性页面。

img

img

(2)在属性对话框中,打开【安全】页,添加两个团体名,分别是public(只读权限)和private(读写权限);并选择【接受来自任何主机的SNMP数据包】;{对配置好的界面截图}

img

(3)接着打开【陷阱】页,在团体名称文本框中输入public,点击【添加到列表】,然后在下面的陷阱目标中添加两个IP地址(一个设置为本地计算机IP地址,另一个设置同小组某位同学计算机的IP地址);{对配置好的界面截图}

img

(4)最后打开【代理】页,在联系人文本框中输入学生自己的完整学号;点击【确定】即可完成配置。配置完成后,请关闭本地计算机所有的防火墙,方便同学们的计算机之间可以相互接收陷阱消息。{对配置好的界面截图}

img

  • 客户端操作

    • 下载SNMPUTIL工具,将SNMPUTIL工具放到C盘的根目录下,然后打开命令提示符,将命令提示符的路径切换到C盘根目录下,或放d盘,执行D:\Snmputil 。

    • Snmputil是一个命令行下的读取代理信息的软件,使用语法如下:

    • 语法1:snmputil [get|getnext|walk] agent community oid [oid...]

    • 语法2:snmputil trap

    • 其中语法1用来从代理处读取各种管理信息,有get、getnext、walk三种功能供选择,agent代表代理站的IP地址,community是读取的团体名称,oid是想读取的对象标识符。

    • 按下列内容运行,观察分析得到的结果。注意:对方IP地址根据具体情况而定。

1、监测分析windows系统网络信息

(1)查看被管系统的接口数目:

>Snmputil get192.168.137.1 public .1.3.6.1.2.1.2.1.0

img

命令中OID即 interfaces.ifNumber.0。

(2)使用getnext命令参数就可以获取一个设备中的所有变量值及OID,而不需要事先知道它们的准确OID值。

>Snmputil getnext 192.168.137.1 public.1.3.6.1.2.1.2.1.0

img

知道了next指令的用途,可以编写一个程序自动获取一个设备的所有OID及其数值.而不用一行行地敲入那么长的命令。

(3)输入和执行如下命令,并分析输出结果;如:

>SNMPUTIL get 192.168.137.1 public 1.1.0

img

答:输出的结果可以看出本地计算机系统处理器类型为Intel64 Family 6 Model 142 Stepping 12

,该CPU兼容早起的AT指令,OS为: windows version 11 21H2

2、监测分析windows系统应用信息

(1)可用snmputil walk 指令将显示出本地机器儿乎所有的变量,直到最后出现“End of MIB subtree":

>snmputil walk 192.168.3.6 public .1.3

img

(2)获取并分析被管系统的信息:

>snmputil walk 192.168.3.6 public.1.3.6.1.2.1.1

img

列出系统信息:可以了解系统状况以及主机的稳定性,可以从主机的uptime里得知系统开机了多长时间。

(3)>snmputil walk 192.168.3.6 public.1.3.6.1.2.1.25.4.2.1.2

img

列出系统进程:这样就可以知道系统运行的软件,例如有没有装杀毒软件。系统进程有svchost.exe、msedge.exe、smss.exe、svchost.exe、fontdrvhost.exe、csrss.exe、svchost.exe、wininit.exe、services.exe、lsass.exe、mmcrashpad_handler64.exe、aesm_service.exe

(4)>snmputil walk 192.168.3.6 public.1.3.6.1.2.1.25.6.3.1.2

img

列出安装的软件:可以看系统装的补丁是什么,有没有装防火墙等信息,可以据此判应该有的系统漏洞。

3、监测分析windows系统安全信息

(1)列系统用户列表:可以知道系统的用户表。

>snmputil walk 192.168.3.6 public .1.3.6.1.4.1.77.1.2.25.1.1

img

(2)列出域名:可以列出系统的域名,若入侵者得到了主机名,可以根据此设置探测的密码字典。

>snmputil get 192.168.3.6 public .1.3.6.1.4.1.77.1.4.1.0

img

(3)另外 Snmputil getnext 可以用来测试 Windows 2K SNMP 内存消耗拒绝服务攻击缺陷

>snmputil getnext localhost public .1.3.6.1.4.1.77.1.2.28.0

img

(4)对象实例1.3.6.12.1错误,不存在这个实例

>SNMPUTIL walk 192.168.3.6 public .1.3.6.12.1

img

4、监测分析windows系统snmp陷阱服务

(1)在另外一个命令行窗口输入snmputil trap开始进行陷阱的监听;如:

img

(2)在原有的命令行窗口输入snmputil getnext 192.168.137.1 test 1.1,查看Trap命令行窗口的监听结果,说明该陷阱消息的含义;如:

img

因为团队名称出错,所以窗口返回监别失败,认证出错的消息。

(3)重启snmp服务,查看Trap命令行窗口的监听结果,说明该陷阱消息的含义;

img

陷入窗口收到192.168.137.1发出的SNMP服务进行冷启动的消息。

六、思考问题

1、 通过snmputil的使用,谈谈你对SNMP的主要操作有什么样的认识?

  • SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。它允许网络管理员通过收集和解释网络设备发送的信息来监控和管理网络。SNMP的主要操作包括以下几个方面:

  • GET操作:通过发送GET请求,管理者可以获取网络设备上的特定信息,例如设备的配置、性能统计、错误日志等。

  • SET操作:通过发送SET请求,管理者可以修改网络设备的配置参数,例如更改设备的IP地址、开启/关闭特定功能等。

  • TRAP操作:网络设备可以主动向管理者发送TRAP消息,以通知特定的事件或故障。管理者可以接收这些消息并采取相应的管理措施。

  • WALK操作:通过发送WALK请求,管理者可以遍历整个MIB(Management Information Base)数据库,获取网络设备上的所有信息。

  • 这些操作使得管理员能够有效地监控和管理网络设备,及时检测并解决问题,确保网络的正常运行。SNMP协议是一个通用的网络管理协议,与任何特定的地理区域或国家无关。

2、 你了解的其他操作系统的服务器或工作站对SNMP的支持是怎样的?

  • Linux服务器和工作站:大多数Linux发行版(如Ubuntu、CentOS、Red Hat等)都有SNMP软件包可用,例如Net-SNMP,它提供了SNMP代理和相关工具,可以配置、管理和监控设备。

  • macOS服务器和工作站:macOS也支持SNMP。管理员可以使用命令行工具(如snmpd)来配置和管理SNMP代理,并使用SNMP工具监控设备。

  • UNIX服务器和工作站:UNIX类操作系统(如Solaris、FreeBSD等)通常也提供SNMP支持,管理员可以使用相应的SNMP软件包或工具来配置和管理SNMP代理。

  • 总的来说,大多数服务器和工作站操作系统都提供对SNMP的支持,使其能够集成到网络管理和监控系统中。具体的配置和操作方法可能因操作系统而异,可参考各个操作系统的相关文档或官方指南来了解更多细节。

实验二 端口扫描与安全审计

一、Nmap简介

1. 基本功能与目标端口状态说明

  • Nmap(Network Mapper)是开放源码的网络探测和端口扫描工具,具有主机发现、端口扫描、操作系统检测、服务和版本检测、逃避放火墙及入侵检测系统等功能。可从网站http://www.insecure.org/nmap/下载不同操作系统版本的源代码和可执行程序,而且提供了详细的中文使用手册(http://www.insecure.org/nmap/man/zh/)。

  • Nmap以表格形式输出扫描目标的端口号、协议、服务名称和状态,端口状态分别用开放(open)、关闭(closed)、已过滤(filtered)和未过滤(unfiltered)表示。其中“开放”表示应用程序正在该端口监听连接或分组;“关闭”表示没有应用程序在该端口监听;“已过滤”表示防火墙或其他过滤器封锁了该端口,Nmap无法知道该端口的状态;“未过滤”表示端口对Nmap探测有响应,但Nmap不能确定端口是开放还是关闭。Nmap有时也可能输出open|filtered或closed|filtered的状态组合,表示不能正确识别端口处于其中那一个状态。

2. 命令格式与帮助

  • Nmap命令格式

    nmap [ Scan Type ...] [Options] { target specification}
    
  • Nmap命令帮助:C:>nmap(不带命令参数运行nmap)

3. 常用扫描类型

(1)-sT (TCP connect() 端口扫描);

(2)-sS (TCP SYN 同步扫描);

(3)-sU (UDP端口扫描);

(4)-sN (Null扫描 ) ;

(5)-sF 扫描 (FIN)

(6)-sP(Ping扫描);

(7)-sX (Xmas扫描 );

(8)-sA (TCP ACK扫描,探测端口是否被过滤,open和closed端口返回RST报文,表示unfiltered,否则为filtered)

(9)-sM (TCP Maimon扫描, Maimon发现BSD系统探测报文FIN-ACK,响应RST ) ;

(10)–scanflags (定制TCP标志位URG, ACK,PSH, RST,SYN,和FIN的任何组合设计扫描探测报文 )

(11)-sW (TCP窗口扫描) ;-sI (Idlescan盲扫描) ;-sO (IP协议扫描) 等,详细内容参考Nmap手册;

(12)未指定扫描类型,默认扫描类型为TCP SYN 同步扫描。

4. 命令参数选项

(1)主机发现参数(也称ping扫描,但与ping 命令发送ICMP不同)

  • -sL (列表扫描) 、-sP (Ping扫描) 、-P0 (无ping) 、-PS [portlist] (TCP SYN Ping) 、-PA [portlist] (TCP ACK Ping) 、-PU [portlist] (UDP Ping) 、-PR (ARP Ping)等。

(2)端口说明参数

  • -p 仅扫描指定端口。

  • 例如,-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080(其中U、T分别指定UDP和TCP端口)

(3)服务和版本探测参数

  • -sV (版本探测) 、-sR (RPC扫描)

(4)操作系统探测参数

  • nmap-os-fingerprints文件包含了 1500多个已知操作系统的指纹信息。

  • -O (操作系统检测) 、-A(同时启用操作系统和服务版本检测)

(5)输出格式参数

  • Nmap具有交互、标准、XML等5种不同输出格式,默认为交互式输出。

  • -v (详细输出)

5. 目标地址规范

  • Nmap支持多种目标地址规范,包括单个目标IP地址、主机名称和网络地址。例如:

(1)nmap -sP 192.168.7.8,对目标主机192.168.7.8 ping扫描;

(2)nmap -sT scanme.nmap.org,对目标主机scanme.nmap.org进行TCP connect()扫描;

(3)nmap -v 192.168.10.0/24,扫描192.168.10.0至192.168.10.255之间的256台目标主机,其中输出参数-v表示显示详细信息verbose;

(4)nmap -v 10.0.0-255.1-254,扫描10.0.0.1至10.0.255.254之间的所有IP地址;

(5)nmap -v 0-255.0-255.13.37,扫描Internet所有以13.37结束的IP地址;

(6)nmap -v -iR 1000 -P0 -p 80,随机选择1000个目标主机扫描,其中-P0 表示无ping扫描。

随机地址扫描格式为-iR ,其中-iR表示随机地址扫描,num hosts表示随机地址数。

二、实验内容

1. 安装nmap-4.01-setup.exe软件

注意事项:采用nmap-4.01-setup.exe时将自动安装WinPcap分组捕获库,采用解压缩nmap-4.01-win32.zip时需事先安装WinPcap 分组捕获库。

2. 局域网主机发现

​ 列表扫描:nmap -sL 局域网地址

img

命令解释:"nmap -sL"用于进行DNS解析,以列出指定目标的IP地址列表,而不进行实际的端口扫描。输出结果将显示目标的主机名和相应的IP地址

3. 扫描目标主机端口

​ 连续扫描目标主机端口:nmap –r目标主机IP地址或名称

img

命令解释:扫描192.168.137.1的目标主机的端口,显示991个关闭的端口和9个开放的端口,并显示了主机的MAC地址

4. 服务和版本检测

​ 目标主机服务和版本检测:nmap -sV目标主机IP地址或名称

img

命令解释:除了扫描了该主机的端口和输出MAC地址外,也输出了主机名为“FENGQIANDEMATEB",操作系统是Windows,CPE全称是Common Platform Enumeration,意思是通用平台枚举项。它是NMAP对识别出来的软件、操作系统和硬件的一种命名方式。它的格式如下:cpe:/::::::

其中,part表示目标类型,允许的值有a(应用程序)、h(硬件平台)、o(操作系统);vendor表示向量类型;product表示产品名称;version表示版本号;update表示更新包;edition表示版本;language表示语言项。

5. 操作系统检测

​ 目标主机操作系统检测:nmap -O目标主机IP地址或名称

img

命令解释:,nmap 将尝试分析目标主机的网络行为并猜测其运行的操作系统类型,结果中的 “general purpose” 是指针对目标主机的操作系统进行的一般性描述,

6. 端口扫描组合应用

nmap -v -A scanme.nmap.org

img

命令解释:nmap 将连接到指定的目标主机,并开始对主机进行全面扫描。扫描过程中,nmap 将探测主机上的开放端口、服务类型、操作系统信息,并尝试识别与许多已知服务和漏洞相关的详细信息。“-v” 参数表示使用详细模式,会输出更多关于扫描进程的详细信息,包括正在进行的扫描任务和发现的主机及端口信息。“-A” 参数表示使用全面扫描选项,将执行更深入的扫描,并探测主机的操作系统类型、版本、服务版本以及可能存在的漏洞等。“scanme.nmap.org” 是一个公共可扫描的测试主机,

nmap -v -sP 192.168.0.0/16 10.0.0.0/8

img

​ 命令解释:命令 “nmap -v -sP 192.168.0.0/16 10.0.0.0/8” 是用于进行主机存活性检测的网络扫描,“-v” 参数表示使用详细模式,将输出更多关于扫描过程的详细信息,包括正在进行的扫描任务和发现的主机信息。“-sP” 参数表示进行Ping扫描(即存活性检测)而不进行端口扫描。Ping扫描用于确定指定IP范围内的主机是否在线或存活。“192.168.0.0/16” 和 “10.0.0.0/8” 是指定的IP地址范围。在这个例子中,192.168.0.0/16 表示扫描 192.168.x.x 子网中的主机,而 10.0.0.0/8 表示扫描 10.x.x.x 子网中的主机。通过执行该命令,nmap 将尝试向指定的IP地址范围内的主机发送Ping请求,并等待主机的响应。如果主机响应了Ping请求,nmap 将认为该主机是在线的或存活的。这种类型的扫描通常用于在网络中识别在线主机的存活性,而不涉及端口扫描或服务版本检测。它可以用于检测大型网络中存活的主机,或者用于验证给定子网中的主机是否可访问。

​ 输出的 “Ping scan Timing: About 22.89% done; ETC: 17:45 (0:42:20 remaining)” 是 nmap 执行Ping扫描时提供的扫描进度和剩余时间信息。“Ping scan Timing” 表示Ping扫描的扫描进度信息。“About 22.89% done” 表示已经完成了大约22.89%的Ping扫描任务。“ETC: 17:45 (0:42:20 remaining)” 表示预计完成整个Ping扫描任务的时间。其中,“ETC” 是 “Estimated Time of Completion” 的缩写,表示预计完成的时间。“17:45” 是预计完成的时刻,表示下午5点45分。“(0:42:20 remaining)” 表示剩余的估计时间,即还需约42分钟20秒才能完成整个Ping扫描任务。

nmap -v -iR 10 -P0 -p 80

img

img

​ 命令解释:“nmap -v -iR 10 -P0 -p 80” 是用于进行随机目标主机的端口扫描的,“-v” 参数表示使用详细模式,将输出更多关于扫描过程的详细信息,包括正在进行的扫描任务和发现的主机及端口信息。“-iR 10” 参数表示通过随机方法选择10个目标主机进行扫描。这意味着 nmap 将随机地从全球互联网中选择10个主机来进行扫描,用于测试或探测目的。“-P0” 参数表示禁用主机的Ping检测。默认情况下,nmap 在扫描之前会尝试进行Ping检测以确定主机是否在线。使用 “-P0” 参数可以禁止这种Ping检测,直接对目标主机进行端口扫描。“-p 80” 参数表示只扫描指定的端口号80。这里的端口号80通常用于HTTP服务,通过扫描该端口可以检测主机上是否存在HTTP服务器。通过执行该命令,nmap 将随机选择10个目标主机,并对这些主机的80端口进行扫描,以检测是否有HTTP服务在运行。由于禁用了Ping检测,该命令适用于对目标主机进行端口扫描而无需事先确认其在线状态。这种扫描常用于测试和评估网络安全性,以及发现潜在的漏洞或问题

img

图2.1:nmap –sV 221.131.48.130

img

图2.2:nmap –v iR10 –P0 –p80

img

图2.3:nmap –v iR10 –P0 –p80

三、实验要求

由于Nmap扫描功能强大、命令参数众多,在有限时间内不可能对所有命令参数进行实验。但实验内容中列举的扫描命令必须完成,也可以任意选择其他命令参数进行实验。命令执行后将执行结果复制到实验报告表格中,并对命令执行结果进行解释。

实验三 网络攻击跟踪与分析

一、Ethereal网络协议分析软件

1. 简介

  • Ethereal是开放源码的网络分组捕获与协议分析软件,具有网络分组捕获及分组细节显示功能。Ethereal不仅可协助网络管理员、安全工程师、软件开发人员解决各自所关心的网络管理、安全威胁和协议调试等问题,也是深入学习网络协议的优秀工具。可以从网站http://www.ethereal.com/download.html下载不同操作系统版本的源代码和可执行程序,而且提供了不同文本格式的用户使用手册Ethereal User’s Guide,Ethereal-0.10.14版本支持725种网络协议。

2. 主界面

  • Ethereal主界面采用分组跟踪列表框、协议层次框和原始分组框的形式,显示捕获分组的详细协议信息。分组跟踪列表框按照分组捕获的先后时间顺序显示分组跟踪记录号、捕获时间、源IP地址、目标IP地址、协议等信息。选中分组跟踪列表框中的一个分组后,协议层次框按照TCP/IP协议层次结构显示指定分组的物理层、数据链路层、网络层、传输层和应用层协议的详细信息;原始分组框分别以十六进制和ASCII码形式显示指定分组的字节数据。

3. 捕获菜单简要说明(Capture)

启动Ethereal,用Capture Options菜单命令设定分组捕获参数。

(1)捕获框Capture frame

(a)Interfaces: 在下拉菜单中选择捕获分组的网络接口;

(b)IP address:显示设定网络接口的IP地址;

(c)Link-layer header type:在下拉菜单中选择解析链路层首部类型的标准,除非有特殊要求,保持默认值Ethernet即可;

(d)Buffer size:输入捕获分组时使用的操作系统缓冲区大小,Buffer size 只适用于Windows操作系统平台;

(e)Capture packets in promiscuous mode:混杂模式可以捕获共享网络上的所有分组;

(f)Limit each packet to n bytes:将分组限制在n字节之内,如果不打算捕获分组封装的数据,输入分组首部字节数;

(g)Capture Filter:分组捕获过滤器,指定分组捕获过滤规则,Ethereal只捕获满足过滤规则的分组。单击Capture Filter按钮,Ethereal将弹出捕获规则对话框,方便用户选择或生成分组捕获过滤规则。

(2)捕获文件框Capture File(s) frame

(a)Capture Files:指定保存分组文件的名称与路径,单击Browse按钮可以选择保存分组文件的路径;

(b)Use multiple files:将捕获分组保存到多个文件;

(c)Next file every:达到规定的byte(s)/kilobyte(s)/megabyte(s)/gigabyte(s)后,切换到下一个文件,仅在Use multiple files下有效;

(d)Next file every:达到规定的second(s)/minutes(s)/hours(s)/days(s)后,切换到下一个文件,仅在Use multiple files下有效;

(e)Ring buffer with:使用环型缓冲,将分组捕获到多个文件;仅在Use multiple files下有效;

(f)Stop capture after:达到规定的n个文件之后停止捕获,仅在Use multiple files下有效;

(g)Stop capture after:n个文件之后停止捕获,仅在Use multiple files下有效;

(3)停止捕获框Stop Capture frame

(a)after n packet(s):达到指定的分组数目后,停止捕获;

(b)after n megabytes(s):达到指定的byte(s)/kilobyte(s)/megabyte(s)/gigabyte(s)容量后,停止捕获;

(c)after n minute(s):达到规定的second(s)/minutes(s)/hours(s)/days(s)时间后,停止捕获;

(4)显示选择框Display Options frame

(a)Update list of packets in real time:实时更新显示分组列表,否则,在停止捕获以前,Ethereal不显示任何分组;

(b)Automatic scrolling in live capture:自动滚动显示新捕获的分组;

(c)Hide capture info dialog:隐藏捕获信息对话框;

(5)名称解析对话框Name Resolution frame

(a)Enable MAC name resolution:解析MAC地址厂商名称;

(b)Enable network name resolution:解析网络地址的域名或主机名称;

(c)Enable transport name resolution:将应用协议翻译成端口号;

(6)启动分组捕获

如果对捕获选项(Capture Options)对话框中的捕获参数设定不熟悉,在多数情况下可以使用Ethereal的默认值。

单击OK按钮启动分组捕获,单击Cancel 按钮取消分组捕获。

4. 统计菜单简要说明(Statistics)

(1)汇总统计Summary

汇总统计窗口显示有关文件(File)、时间(Time)、捕获(Capture)、流量(Traffic)方面的一般统计信息。

(a)File:捕获文件的一般信息;

(b)Time:捕获第一个分组、最后一个分组以及两者之间的时间;

(c)Capture:捕获分组时的接口、丢失分组和捕获过滤器信息,仅在网络捕获分组时有效;

(d)Traffic:网络流量统计信息;

(2)协议层次统计Protocol Hierarchy

协议层次统计窗口以树状结构显示有关协议名称(Protocol)、协议分组百分比(% Packets)、协议分组数(Packets)、字节数(Bytes)、带宽(MBit/s)等方面的统计信息。

(3)会话统计Conversations

网络会话泛指两个特定端点(MAC address、IP address、TCP ports、UDP ports)之间的流量,例如,IP会话就是两个IP地址之间的网络流量。会话统计窗口以协议选项卡方式显示网络会话统计信息。

(4)端点统计Endpoints

端点统计窗口以协议选项卡方式显示捕获端点的统计信息。例如,Ethernet:5表示捕获了5个MAC 地址端点。

(5)IO图示统计IO Graphs

IO图示统计窗口按照用户定义的色彩显示捕获分组的统计信息。

二、实验内容

1. ethereal-setup-0.10.14.exe软件安装

注意事项:ethereal-setup-0.10.14.exe将自动安装WinPcap分组捕获库,不必事先安装WinPcap 分组捕获库。

2. 冲击波蠕虫病毒攻击分析

(1)冲击波蠕虫病毒攻击原理

冲击波蠕虫病毒W32.Blaster.Worm利用Windows 2000/XP/2003等操作系统中分布式组件对象模型DCOM(Distributed Component Object Model)和远程过程调用 (RPC(Remote Procedure Call)通信协议漏洞进行攻击,感染冲击波蠕虫病毒的计算机随机生成多个目标IP地址扫描TCP/135(epmap)、UDP/135(epmap)、TCP/139、UDP/139、TCP/445、UDP/445、TCP/593、UDP/593端口寻找存在DCOM RPC漏洞的系统。感染冲击波蠕虫病毒的计算机具有系统无故重启、网络速度变慢、Office软件异常等症状,有时还对Windows自动升级(windowsupdate.com)进行拒绝服务攻击,防止感染主机获得DCOM RPC漏洞补丁。

根据冲击波蠕虫病毒攻击原理可知,计算机感染冲击波蠕虫病毒需要具备三个基本条件。一是存在随机生成IP地址的主机;二是Windows 2000/XP/2003操作系统开放了RPC调用的端口服务;三是操作系统存在冲击波蠕虫病毒可以利用的DCOM RPC漏洞。

(2)冲击波蠕虫病毒攻击过程分析

用Ethereal打开冲击波蠕虫病毒捕获文件Win2000-blaster.cap,通过协议分析回答下列问题(仅限于所捕获的冲击波蠕虫病毒):

(a)感染主机每次随机生成多少个目标IP地址?

答:感染主机每次随机生成20个目标IP地址。

(b)扫描多个端口还是一个端口?如果扫描一个端口,是那一个RPC调用端口?

答:扫描一个端口,是135端口

(c)分别计算第二组与第一组扫描、第三组与第二组扫描之间的间隔时间,扫描间隔时间有规律吗?

答:没有时间规律

(d)共发送了多少个试探攻击分组?(提示:端点统计或规则tcp.flags.syn==1显示SYN=1的分组)

答:共发送了6008条试探攻击分组。

img

(e)有试探攻击分组攻击成功吗?如攻击成功,请给出感染主机的IP地址。如没有攻击成功的实例,说明为什么没有攻击成功?(提示:TCP报文段SYN=1表示连接请求,SYN=1和ACK=1表示端口在监听,RST=1表示拒绝连接请求。使用显示过滤规则tcp.flags.syn1&&tcp.flags.ack1确定是否有端口监听。)

img

三、实验要求

由于Ethernet分组捕获与协议分析功能强大,在一个实验单元时间内不可能熟练掌握Ethernet的使用。但至少应掌握捕获菜单和统计菜单的使用,也可以选择其他菜单命令进行实验。练习使用Ethernet分组捕获与协议分析的显示结果不要复制到实验报告,实验报告只回答冲击波蠕虫病毒攻击过程分析中提出的问题及问题解答过程。

实验四 IPSec安全通信配置和实现

一、实验目的

目的:了解IPSec协议安全通信的基本原理和工作模式;掌握在Cisco路由器或网关上配置IPSec隧道模式+ESP协议的方法;并通过配置和实验测试,观察IPSec协议安全通信过程。举一反三,为更好地学习各种安全通信协议,以及在实践中配置实现主机到网关、网关到网关、主机到主机的IPSec VPN应用打好基础。

要求:1、熟悉实验原理,包括AH、ESP、IKE相关协议和IPSec工作模式

2、按实验步骤完成需要安全通信的网络构建和协议配置。

3、对提出的问题进行解答,并截图证明。

二、实验环境

1、仿真软件:Cisco Packet Tracer 5.3或以上版本,运行于Windows 7.0以上版本。

2、 网络拓扑(如图)

img

三、实验原理

在A和B之间使用Ipsec包含IKE:ISAKMP安全关联和密钥管理协议配置一条安全隧道。

  • IPSec包含3个协议

1.IKE协议 :提供双方交流时的密钥协商,共享安全服务要素信息; (3个协议)

Internet 安全关联和密钥管理协议ISAKMP:提供了一个通用的SA属性格式框架;使用不同秘钥交换协议时协商、修改、删除SA的方法。

OAKLEY:提供在两个IPSec对等实体间数据源认证和交换共享加密密钥的机制;

SKEME :提供了实现完整性鉴别使用公钥(证书)加密的机制。

2.IP认证分组头(IP authentication header,AH),为IP分组提供信息源的验证和完整性保证;

3.IP封装安全负载(IP encapsulating security payload,ESP),提供加密、信息源的验证和完整性保证;

  • 在A和B之间建立安全隧道的过程

img

四、实验步骤

在R1和R3之间使用Ipsec包含IKE:ISAKMP安全关联和密钥管理协议配置一条安全隧道,如上图所示。

1.在PT仿真软件中,连接构建相同的网络。

img

2.完成各个主机(包括客户机和服务器)网络配置(参考计算机网络实验或PKT文件)。

3.完成各个路由器的端口配置和路由协议RIP配置(参考计算机网络实验或PKT文件)

4.完成R1和R3 IPSEC安全协议配置(双方配置相同的参数和对端IP地址)。

5.测试跨越网络的某两台主机之间的连通性,确保通信正常。

  • IPSEC网关(路由器)R1配置步骤

1.配置IPSec

(1)crypto isakmp enable //启用ISAKMP

(2)创建IKE SA

crypto isakmp policy 10  //创建一个策略组IKE SA,10取值1-1000
encryption aes      //配置加密算法,默认DES (des,3des,aes)
authentication pre-share //身份验证采用**预共享密钥**认证方式
group 5        //配置DH中原根的位数(1,2,5),值越大安全性越高,运算越慢
Diffie-Hellman group 1
Diffie-Hellman group 2
Diffie-Hellman group 5
lifetime 900   //设置IKE SA生命周期(60-86400)分钟

img

(3)配置要身份认证预共享密钥(口令)

crypto isakmp key cisco address 10.2.0.2 //定义预共享密钥,对端IP地址

img

(4)配置IPSec变换方案

crypto ipsec transform-set 50 ah-sha-hmac esp-3des //配置IPSec变换集合范围,双方参数必须一致(当前是esp-aes)

img

(5)配置IPSec SA

crypto map mymap 10 ipsec-isakmp //基于IKE SA 10,创建加密认证(SA)方案mymap
set peer 10.2.0.2  //创建IPSec对等体对方IP地址
set security-association lifetime seconds 1800 //设置SA生命周期30分钟
set transform-set 50 //采用IPSec变换集合50 (名称)
match address 101  //对ACL 101指明的感兴趣的流量应用IPSec控制传输。

img

(6)配置应用IPSec转发的分组

access-list 101 permit ip 10.0.0.0 0.0.0.255 10.4.0.0 0.0.0.255 //10.0.0.0/24和10.4.0.0/24网络上主机之间传输分组时在Router0和Router2上应用IPSec。

img

2.配置路由器端口(使用IPSec SA)

interface FastEthernet0/0
ip address 10.1.0.1 255.255.255.0
crypto map mymap
!
interface FastEthernet0/1
ip address 10.0.0.1 255.255.255.0

img

3.配置动态路由协议

router rip
network 10.0.0.0
auto-summary

img

  • IPSEC网关(路由器)R3配置
crypto isakmp policy 10
encr aes
authentication pre-share
group 5
lifetime 900
!
crypto isakmp key cisco address 10.1.0.1
!
crypto ipsec transform-set 50 ah-sha-hmac esp-3des
!
crypto map mymap 10 ipsec-isakmp 
set peer 10.1.0.1
set security-association lifetime seconds 1800
set transform-set 50 
match address 101
!
access-list 101 permit ip 10.4.0.0 0.0.0.255 10.0.0.0 0.0.0.255
!
interface FastEthernet0/0
ip address 10.4.0.1 255.255.255.0
!
interface FastEthernet0/1
ip address 10.3.0.1 255.255.255.0
!

img

interface Serial0/1/0
ip address 10.2.0.2 255.255.255.0
crypto map mymap
!
router rip
network 10.0.0.0
auto-summary

img

  • 路由器R2配置
interface FastEthernet0/
ip address 10.1.0.2 255.255.255.0
!
interface Serial0/1/0
ip address 10.2.0.1 255.255.255.0
clock rate 200000
!
router rip
network 10.0.0.0
auto-summary

img

五、问题回答

1、出具路由器Router1和路由器Router2的路由表(转发表)。

img

图1 Router1的路由表

img

图2 Router2的路由表

2、在模拟模式下,从PC0向Server0(10.4.0.2)和Server1(10.3.0.2)发送ping或http请求,看看Router0和Router2如何对分组进行加密和解密,哪些分组被加密而应用IPSec,哪些分组没有应用IPSec。截图并分析说明。

img

图3 PC0向Server0(10.4.0.2) 发送ping或http请求

3、改变分组的源地址和目的地址,在模拟模式下,看看Router0和Router2如何对分组进行加密和解密。截图并分析说明。

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、PGP概述 PGP(Pretty Good Privacy)的创始人是美国的Phil Zimmermann(菲利普•齐默曼),他在1991年把 RSA 公钥体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。因此 PGP 成为几乎最流行的公匙加密软件包。PGP有不同的实现,如GnuPG和Gpg4win,其中GnuPG(Gnu Private Guard,简写为GPG)的核心算法是PGP,GnuPG本身是为Linux等开源操作系统设计的;而Gpg4win是windows下GnuGPG及图形前端的合集安装包,其核心为GnuPG,包括:(1)Kleopatra和GPA:GPG的密钥管理器,用于生成、导入和导出GPG密钥(包括公钥和私钥);(2)GpgOL:Outlook 的GPG支持插件;(3)GpgEX:资源管理器的GPG支持插件;(4)Claws Mail:内置GPG支持的邮件客户端。 PGP是一个基于RSA公钥加密体系的加密软件,是开源且免费的,后经互联网志愿者发展完善并广泛应用,具有如下特点:(1)选择最可用的加密算法作为系统的构造模块,所用算法已被广泛检验过,相当安全;并将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集;(2)是一个开源项目,程序、文档在Internet上公开;(3)可以免费得到运行于多种平台上的PGP版本,具有广泛的可用性;(4)不由任一政府或标准化组织所控制,使得PGP得到了广泛信任;(5)与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGP。2010年6月被赛门铁克公司收购。由于这些特点,使得PGP得到了广泛的应用。 PGP常用的版本是PGP Desktop Professional,它可以用来加密文件,可以用来对邮件保密以防止非授权者阅读,还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。同时,通过使用公钥密码算法,可以提供一种事先并不需要任何保密的渠道用来传递密匙的安全通讯方式。PGP功能强大,而且具有很快的速度,PGP提供的主要功能如表1.7.1所示。 表1.7.1 PGP的功能概述 功能 使用的算法 描述 消息加密 IDEA、CAST、3DES、TwoFish、ElGamal、RSA 发信人产生一次性会话密钥加密,用IDEA或CAST-128或3DES算法对消息进行加密;采用ElGamal或RSA算法用接收方的公钥加密会话密钥 数字签名 DSS/SHA-1、RSA/MD5 采用SHA-1或MD5消息摘要算法计算消息的摘要值(散列码),用发送者的私钥按DSS或RSA算法加密消息摘要 压缩 PKZIP 消息在传送和存储时可使用PKZIP压缩 E-mail兼容性 Radix-64 对E-mail应用提供透明性,采用基数64编码将加密后的消息(二进制流)转换为ASCII字符串 数据分段 - 为了适应最大消息长度限制,PGP执行分段和重新组装 2、PGP的密钥管理 PGP是一种混合密码系统,应用了多个密码算法,包括对称密码算法、非对称密码算法、消息摘要算法、数字签名等经典的密码学算法。为用户生成密钥对之后,可以进行邮件的加密、签名、解密和认证。在PGP中使用的加密算法和用途如表1.7.2所示。 表1.7.2 PGP中采用的各种密码算法及用途 密钥名 加密算法 用途 会话密钥 IDEA、AES 对传送消息的加解密,随机生成,一次性使用 公钥 RSA、Diffie-Hellman 对会话密钥加密,收信人和发信人共用 私钥 DSS/SHA、RSA/SHA 对消息的杂凑值加密以形成签名,发信人专用 口令 IDEA 对私钥加密以存储于发送端 从上表可以看出,PGP使用了四种类型的密钥:一次性会话传统密钥、公钥、私钥和基于口令短语的传统密钥/通行字短语。 会话密钥按ANSI X9.17标准,采用IDEA算法,以密文反馈模式(CFB)生成。当PGP用RSA算法为用户生成一个新的公钥/私钥对时,PGP会要求用户提供一个口令短语,对该短语使用MD5/SHA-1消息摘要算法生成一个散列码后,销毁该短语,从而把用户输入的口令短语转化为IDEA/CAST-128密钥,再使用这个密钥加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中。当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取出加密后的私钥,生成散列码,解密私钥。 一个用户可能拥有多个公钥/私钥对,正确识别加密会话密钥和签名所用的特定公钥/私钥对的一个最简单的解决方案是将公钥和消息一起传送。但这种方式浪费了不必要的空间。PGP采用的解决方案是给每个公钥分配一个密钥标识(KeyID),并以极大的概率与用户标识(UserID)一一对应,即UserID和KeyID标识一个密钥。密钥标识至少为64位,因而密钥标识重复的可能性非常小。 PGP提供一种系统化的密钥管理方案来存储和组织这些密钥以保证有效使用这些密钥,它为每个节点(用户机器)提供一对数据结构,一个用于存放本节点自身的公钥/私钥对(即私钥环),另一个用于存放本节点知道的其他用户的公钥(即公钥环)。私钥环信息:时间戳、KeyID、公钥、私钥、UserID,其中UserID通常是用户的邮件地址。也可以是一个名字,可以重名;公钥环信息:时间戳、KeyID、公钥、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度,其中UserID为公钥的拥有者。多个UserID可以对应一个公钥。公钥环可以用UserID或KeyID索引。 如何保证用户公钥环上的公钥确实是指定实体的合法公钥,这是一个至关重要的问题。PGP提供几种可选的方案以减少用户公钥环中包含错误公钥的可能性:(1)物理上得到对方的公钥。这种方式最可靠,但有一定局限性;(2)通过电话验证公钥;(3)从双方都信任的第三方(个体或CA)处获得对方的公钥。 此外,PGP支持密钥管理服务器,用户可以将公钥发布在集中的密钥服务器上,供他人访问。 3、PGP的消息处理过程 PGP消息分成原始消息、签名部分和会话密钥部分三个部分。 PGP发送方处理消息的过程为:(1)签名:利用UserID作为索引,从私钥环中得到私钥;PGP提示输入口令短语,恢复私钥;构造签名部分;(2)加密:PGP产生一个会话密钥,并加密消息;PGP用接收者UserID从公钥环中获取其公钥;构造消息的会话密钥部分。 PGP接收方处理消息的过程为:(1)解密消息:PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥;PGP提示输入口令短语,恢复私钥;PGP恢复会话密钥,并解密消息;(2)验证消息:PGP用消息的签名部分中的KeyID作为索引,从公钥环中获取发送者的公钥;PGP恢复被传输过来的消息摘要;PGP对于接收到的消息计算摘要,并与上一步的结果作比较。 4、PGP的信任模型 由于PGP重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的公钥管理模式。尽管PGP没有包含任何建立认证权威机构或建立信任体系的规范,但它提供了一个利用信任关系的方法,将信任关系与公钥联系起来。PGP定义了与基于X.509真实的公钥基础设施(PKI)不同的证书模型,即所谓“信任网(Web of Trust)”模型。传统PKI模型依赖于CA层次体系验证证书和其中的密钥。而PGP模型则允许多重地、独立地而非特殊可信个体签署的“名字/密钥”关联来证明证书的有效性,其理论是认为“只要有足够的签名,<名字/密钥>关联就是可信的,因为不会所有的签名者都是‘坏’的”。PGP的信任网就像人际关系网一样,通过下述方式让使用公钥的人相信公钥是其所声称的持有者:(1)直接来自所信任人的公钥;(2)由所信赖的人为某个自己并不认识的人签署的公钥。因此,在PGP中得到一个公钥后,检验其签名,如果签名人自己认识并信赖他,就认为此公钥可用或合法。这样,通过所认识并信赖的人,就可以和总多不认识的人实现PGP的安全E-mail通信。 具体而言,在PGP中是通过在公钥环中的下述3个字段来实现Web of Trust信任模型的:(1)密钥合法性字段(key legitimacy field):指示用户公钥合法性的可信等级。信任级别越高,则用户标识UserID与密钥间的绑定关系就越强。这个字段是由PGP计算的;(2)签名信任字段(signature trust field):每一个公钥项都有一个或者多个签名,这是公钥环主人收集到的、能够认证该公钥项的签名。每一个签名与一个signature trust field关联,指示PGP用户信任签名者对此公钥证明的程度。key legitimacy field 是由多个signeture trust field 导出的;(3)所有者信任字段(owner trust field):指示此公钥对其他公钥证书进行签名的信任程度。这个信任程度是由用户给出的。 PGP使用以个人为中心的信任模型,采取一种“社会信任链”的方式进行公钥分发。在这种方式下,用户可以自行决定对周围的联系人是否信任,并可以决定信任度的高低。用户只接收信任的朋友传送来的公钥,并且这些公钥都带有签名。这种方式反映了社会交往的本质,比较适合一般场合下的安全通信。 本实验通过实际操作,了解PGP/GPG4Win软件的常用功能,利用PGP/GPG4Win软件实现密钥管理、对文件和电子邮件的签名与加密等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@小冯@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值