网络安全导论 实验17B 舆情监控与SNMP协议数据的读取_第1页
网络安全导论 实验17B 舆情监控与SNMP协议数据的读取_第2页
网络安全导论 实验17B 舆情监控与SNMP协议数据的读取_第3页
网络安全导论 实验17B 舆情监控与SNMP协议数据的读取_第4页
网络安全导论 实验17B 舆情监控与SNMP协议数据的读取_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验17B舆情监控与SNMP协议数据的读取一、实验目的(1)了解目前国家信息安全总体形势和动态。(2)掌握网络舆情分析软件的基本架构和使用方法。(3)掌握如何通过snmp协议数据获取被控设备的有关信息。二、实验准备(1)互联网舆情监测分析系统通过融合网络信息搜集、处理、存贮、全文检索、中文处理和文本挖掘技术,可实时监控成千上万的新闻、论坛、博客、微博、视频的最新舆情信息,帮助用户及时、全面、准确地掌握网络动态,了解自身的网络形象、提高自身的公关应变能力和重大事件处置能力。(2)网络舆情分析系统一般由信息采集、信息处理和信息分析三大部分组成。其中信息采集部分由网络爬虫模块组成,实现网页的爬取。信息处理部分由预处理模块、分词模块组成。预处理模块抽取爬虫所爬取网页中对分析有用的信息,去除干扰信息,并将抽取信息存储。分词模块对长信息进行分词,并进行词性划分和词频统计。信息分析部分包括信息聚类模块,热点发现模块,敏感词预警模块和基于数学模型的舆情发展预测模块组成。(3)简单网络管理协议(SNMP)一个主要组件是管理信息库(每个设备通常都有一个关联的MIB)。管理信息库MIB中定义了可访问的网络设备及其属性,由对象识别符(OID:ObjectIdentifier)唯一指定。常用OID包括系统参数、网络接口、CPU及负载、内存与磁盘信息参数等。其中部分系统参数如下:OID 描述 备注 请求方式...0 获取系统基本信息SysDesc GET...0 监控时间 sysUptime GET...0 系统联系人 sysContact GET...0 获取机器名 SysName GET(4)snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。三、实验内容1.登录中华人民共和国工业与信息化部网站,阅读最近5期的“网络安全信息与动态”周报,总结当前国家信息安全形势。2.网上查找一款免费或试用的网络舆情监控软件,利用该软件给出最近一个星期网民最关心的话题和新闻。3.列出5家舆情分析与监控软件,说明各软件的共性与差异。4.网上查找并阅读《信息安全技术公共及商用服务信息系统个人信息保护指南》。5.网上查找并阅读我国有关网络安全审查制度的文献。6.网络搜索我国网络安全立法的最近进展。7.使用snmpwalk来查询设备信息(1)以管理员身份打开命令行,然后在命令行中启动snmp服务netstart“net_snmpagent”(2)按照图17-8在系统变量的PATH中配置环境变量图17-8配置环境变量(3)下载net-snmp-.zip,ActivePerl和net-snmp--1.x86.exe(4)在usr/etc/snmp/新建snmpd.conf,内容如下:#####First,mapthecommunityname"public"intoa"securityname"#sourcecommunitycom2secnotConfigUserdefaultpublic#定义community名称为public,映射到安全名notConfigUser。#####Second,mapthesecuritynameintoagroupname:#groupNamesecurityModelsecurityNamegroupnotConfigGroupv1notConfigUser#定义安全用户名notConfigUser映射到notConfigGroup组。groupnotConfigGroupv2cnotConfigUser#####Third,createaviewforustoletthegrouphaverightsto:#定义一个view,来决定notConfigUser可以操作的范围。#Makeatleastsnmpwalk-v1localhost-cpublicsystemfastagain.#定义可查看的snmp的范围。#nameincl/exclsubtreemask(optional)viewsystemviewincluded..2.1.1viewsystemviewincluded...1viewallincluded.1#####Finally,grantthegroupread-onlyaccesstothesystemviewview.#给notConfigGroup组所定义view名all以只读权限。#groupcontextsec.modelsec.levelprefixreadwritenotifaccessnotConfigGroup""anynoauthexactallnonenone#accessnotConfigGroup""anynoauthexactmib2nonenone#-----------------------------------------------------------------------------#Hereisacommentedoutexampleconfigurationthatallowsless#restrictiveaccess.#YOUSHOULDCHANGETHE"COMMUNITY"TOKENBELOWTOANEWKEYWORDONLY#KNOWNATYOURSITE.YOU*MUST*CHANGETHENETWORKTOKENBELOWTO#SOMETHINGREFLECTINGYOURLOCALNETWORKADDRESSSPACE.##sourcecommunity#com2seclocallocalhostCOMMUNITY#com2secmynetworkNETWORK/24COMMUNITY##sec.model#groupMyRWGroupanylocal#groupMyROGroupanymynetwork##groupMyRWGroupanyotherv3user#...##incl/exclsubtreemask#viewallincluded.180##-orjustthemib2tree-#viewmib2included.ernet.mgmt.mib-2fc#viewmib2included.ernet.mgmt.mib-2fc##contextsec.modelsec.levelprefixreadwritenotif#accessMyROGroup""anynoauth0allnonenone#accessMyRWGroup""anynoauth0allallall(5)测试运行如下代码#coding=utf-8"""需要先安装snmp代码Windows和Linux通用Windowscmd调用示例:snmpwalk-v2c-cpublic.Windowscmd下查看某主机(30)信息示例:snmpwalk-v2c-cpublic30."""importreimportosimporttimeimportplatformif'Windows'==platform.system():hosts=['30']else:#在虚拟机运行时则查看本地hosts=['']defsnmpWalk(host,oid):result=os.popen('snmpwalk-v2c-cpublic'+host+''+oid).read().split('\n')[:-1]returnresult#------------------------------------------------------------#获取系统信息#------------------------------------------------------------defgetSystem(host):system=':'.join(snmpWalk(host,'system')[0].split(':')[3:]).strip()returnsystem#------------------------------------------------------------#获取负载信息#------------------------------------------------------------defgetLoad(host,loid):"""系统负载"""load_oids='.4.1.20.'+str(loid)returnsnmpWalk(host,load_oids)[0].split(':')[3]defgetLoads(host):load1=getLoad(host,1)load10=getLoad(host,2)load15=getLoad(host,3)returnload1,load10,load15#------------------------------------------------------------#获取网卡流量#------------------------------------------------------------defgetNetworkDevices(host):"""获取网络设备信息"""device_mib=snmpWalk(host,'RFC1213-MIB::ifDescr')device_list=[]foritemindevice_mib:device_list.append(item.split(':')[3].strip())returndevice_listdefgetNetworkData(host,oid):"""获取网络流量"""data_mib=snmpWalk(host,oid)data=[]foritemindata_mib:byte=float(item.split(':')[3].strip())data.append(str(round(byte/1024,2))+'KB')returndatadefgetNetworkInfo(host):device_list=getNetworkDevices(host)#流入流量inside=getNetworkData(host,'IF-MIB::ifInOctets')#流出流量outside=getNetworkData(host,'IF-MIB::ifOutOctets')returndevice_list,inside,outside#------------------------------------------------------------#内存使用率#------------------------------------------------------------defgetSwapTotal(host):swap_total=snmpWalk(host,'UCD-SNMP-MIB::memTotalSwap.0')[0].split('')[3]returnswap_totaldefgetSwapUsed(host):swap_avail=snmpWalk(host,'UCD-SNMP-MIB::memAvailSwap.0')[0].split('')[3]swap_total=getSwapTotal(host)swap_used=str(round(((float(swap_total)-float(swap_avail))/float(swap_total))*100,2))+'%'returnswap_useddefgetMemTotal(host):mem_total=snmpWalk(host,'UCD-SNMP-MIB::memTotalReal.0')[0].split('')[3]returnmem_totaldefgetMemUsed(host):mem_total=getMemTotal(host)mem_avail=snmpWalk(host,'UCD-SNMP-MIB::memAvailReal.0')[0].split('')[3]mem_used=str(round(((float(mem_total)-float(mem_avail))/float(mem_total))*100,2))+'%'returnmem_useddefgetMemInfo(host):mem_used=getMemUsed(host)swap_used=getSwapUsed(host)returnmem_used,swap_used#------------------------------------------------------------defmain():forhostinhosts:print('='*10+host+'='*10)start=time.time()print("系统信息")system=getSystem(host)print(system)print("系统负载")load1,load10,load15=getLoads(host)print('load(5min):%s,load(10min):%s,load(15min):%s'%(load1,load10,load15))print("网卡流量")device_list,inside,outside=getNetworkInfo(host)fori,iteminenumerate(device_list):print('%s:RX:%-15sTX:%s'%(device_list[i],inside[i],outside[i]))mem_used,swap_used=getMemInfo(host)print("内存使用率")print('Mem_Used=%-15sSwap_Used=%-15s'%(mem_used,swap_used))end=time.time()print('runtime:',round(end-start,2),'s')if__name__=='__main__':main()四、实验报告1.通过实验回答下列问题(1)最近网络上的热门话题是什么?你用什么软件获取的?给出获取界面。通过“舆情通”软件获取,当前收集的信息总量为10719条,其中热门话题集中在经济领域的房产行业,前三热点词云分别为,蜜度、内容、领域。页面如下:(2)给出实验7的运行结果。说明:遇到的问题

1.需要以管理员身份打开命令行,然后在命令行中启动snmp服务

2、需要在系统变量的PATH中配置环境变量

3下载net-snmp-.zip

下载ActivePerl

下载net-snmp--1.x86.exe

4.在usr/etc/snmp/新建snmpd.conf,内容如下:

####

#

First,

map

the

community

name

"public"

into

a

"security

name"

#

source

community

com2sec

notConfigUser

default

public

#

定义

community

名称为

public

,映射到安全名

notConfigUser

####

#

Second,

map

the

security

name

into

a

group

name:

#

groupName

securityModel

securityName

group

notConfigGroup

v1

notConfigUser

#

定义安全用户名

notConfigUser

映射到

notConfigGroup

组。

group

notConfigGroup

v2c

notConfigUser

####

#

Third,

create

a

view

for

us

to

let

the

group

have

rights

to:

#

定义一个

view,

来决定

notConfigUser

可以操作的范围。

#

Make

at

least

snmpwalk

-v

1

localhost

-c

public

system

fast

again.

#

定义可查看的

snmp

的范围。

#

name

incl/excl

subtree

mask(optional)

view

systemview

included

..2.1.1

view

systemview

included

...1

view

all

included

.1

####

#

Finally,

grant

the

group

read-only

access

to

the

systemview

view.

#

notConfigGroup

组所定义

view

all

以只读权限。

#

group

context

sec.model

sec.level

prefix

read

write

notif

access

notConfigGroup

""

any

noauth

exact

all

none

none

#access

notConfigGroup

""

any

noauth

exact

mib2

none

none

#

-----------------------------------------------------------------------------

#

Here

is

a

commented

out

example

configuration

that

allows

less

#

restrictive

access.

#

YOU

SHOULD

CHANGE

THE

"COMMUNITY"

TOKEN

BELOW

TO

A

NEW

KEYWORD

ONLY

#

KNOWN

AT

YOUR

SITE.

YOU

*MUST*

CHANGE

THE

NETWORK

TOKEN

BELOW

TO

#

SOMETHING

REFLECTING

YOUR

LOCAL

NETWORK

ADDRESS

SPACE.

##

source

community

#com2sec

local

localhost

COMMUNITY

#com2sec

mynetwork

NETWORK/24

COMMUNITY

##

sec.model

#group

MyRWGroup

any

local

#group

MyROGroup

any

mynetwork

#group

MyRWGroup

any

otherv3user

#...

##

incl/excl

subtree

mask

#view

all

included

.1

80

##

-or

just

the

mib2

tree-

#view

mib2

included

.ernet.mgmt.mib-2

fc

#view

mib2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论