山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料_第1页
山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料_第2页
山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料_第3页
山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料_第4页
山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料(可以直接使用,可编辑优质资料,欢迎下载)

山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》优质资料(可以直接使用,可编辑优质资料,欢迎下载)山东建筑大学课程设计成果报告题目:基于Python的网络爬虫设计课程:计算机网络A院(部):管理工程学院专业:信息管理与信息系统班级:学生姓名:学号:指导教师:完成日期:目录19841设计目的1211832设计任务内容1313773网络爬虫程序总体设计130374网络爬虫程序详细设计151524.1设计环境和目标分析19134.1.1设计环境198574.1.2目标分析230974.2爬虫运行流程分析2188264.3控制模块详细设计3312914.3爬虫模块详细设计3210024.3.1URL管理器设计3193724.3.2网页下载器设计3103074.3.3网页解析器设计3212264.4数据输出器详细设计4168595调试与测试4224745.1调试过程中遇到的问题480425.2测试数据及结果显示5223196课程设计心得与体会5171837参考文献6184378附录1网络爬虫程序设计代码661119附录2网络爬虫爬取的数据文档91设计目的本课程设计是信息管理与信息系统专业重要的实践性环节之一,是在学生学习完《计算机网络》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1.巩固和加深学生对计算机网络基本知识的理解和掌握;2.培养学生进行对网络规划、管理及配置的能力或加深对网络协议体系结构的理解或提高网络编程能力;3.提高学生进行技术总结和撰写说明书的能力。2设计任务内容网络爬虫是从web中发现,下载以及存储内容,是搜索引擎的核心部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。参照开放源码分析网络爬虫实现方法,给出设计方案,画出设计流程图。选择自己熟悉的开发环境,实现网络爬虫抓取页面、从而形成结构化数据的基本功能,界面适当美化。给出软件测试结果。3网络爬虫程序总体设计URL管理器URL管理器数据输出器网页下载器网页解析器爬虫控制器数据输出器网页下载器网页解析器爬虫控制器在本爬虫程序中共有三个模块:爬虫调度端:启动爬虫,停止爬虫,监视爬虫的运行情况爬虫模块:包含三个小模块,URL管理器、网页下载器、网页解析器。URL管理器:对需要爬取的URL和已经爬取过的URL进行管理,可以从URL管理器中取出一个待爬取的URL,传递给网页下载器。网页下载器:网页下载器将URL指定的网页下载下来,存储成一个字符串,传递给网页解析器。网页解析器:网页解析器解析传递的字符串,解析器不仅可以解析出需要爬取的数据,而且还可以解析出每一个网页指向其他网页的URL,这些URL被解析出来会补充进URL管理器3、数据输出模块:存储爬取的数据4网络爬虫程序详细设计4.1设计环境和目标分析4.1.1设计环境IDE:pycharm4.1.2目标分析目标:从百度词条Python开始,以广度优先的方式,爬取相关联的若干词条网页的标题和简介(1)初始URL:"://baike.baidu/item/Python?sefr=ps"(2)词条页面URL格式:数据格式:标题——<ddclass="lemmaWgt-lemmaTitle-title"><h1>Python</h1>简介——<divclass="lemma-summary"label-module="lemmaSummary">(4)页面编码:utf-84.2爬虫运行流程分析爬虫程序的运行流程如图所示。爬虫控制器从给定的URL开始,将给定的初始URL添加到URL管理器中,然后调用URL管理器的相关方法,判断是否有待爬取的URLURL判断是否有待爬取的URL,如果有待爬取的URL,则返回给控制器,控制器将这个URL传递给网页下载器,下载该网页网页下载器将下载好的数据返回给控制器,控制器再将返回的数据传递给网页解析器解析网页解析器解析网页之后获取网页数据和网页的URL链接,再将这两个数据传递给控制器控制器得到解析出来的数据之后,将新的URL链接传递给URL管理器,将价值数据传递给数据输出器输出数据输出器以文本的形式输出传递进来的数据。回到第一步,循环4.3控制模块详细设计爬虫控制器主要负责调度各个模块,所以在设计的时候只需要一次调用其他模块的方法,给对应的模块传递数据即可。比较简单,可参见附录1查看源码。4.3爬虫模块详细设计4.3.1URL管理器设计URL管理器主要管理待抓取的URL集合和已抓取的URL集合。URL管理器设计的难点在于:防止重复抓取,防止循环抓取。判断是否还有待爬取URL添加新URL到待爬取集合中判断是否还有待爬取URL添加新URL到待爬取集合中获取待爬取URLURL管理器获取待爬取URLURL管理器将URL从待爬取集合移动端已爬取集合判断待添加URL是否在容器中将URL从待爬取集合移动端已爬取集合判断待添加URL是否在容器中常用的URL管理器存储方式有三种,一是使用python内存即set集合来存储URL,二是使用数据库,例如MySQL,三是使用缓存数据库,例如redis。因为这只是个简单的python爬虫,所以我们选择利用内存存储URL。建立两个集合,一个为待爬取集合,一个为已爬取集合,功能上图所示。4.3.2网页下载器设计网页下载器是将互联网上URL对应的网页下载到本地的工具。Python常用的网页下载器有两种,一个是python自带的urllib2,一个是第三方包requests。这里我们选用的是urllib2,比较简单的网页下载工具,其中最简洁的下载网页的代码如下:importurllib2response=urllib2.urlopen(url)

#如果请求码不是200,则表示请求不成功。

#典型的错误包括404(页面无法找到),403(请求禁止),401(待验证的请求)

#5XX回应代码以“5”开头的状态码表示服务器端发现自己出现错误,不能继续执行请求

ifresponse.getcode()!=200:

print"downloadhtmlfailed"

cont=response.read()4.3.3网页解析器设计网页解析器是从网页中提取有价值数据的工具。价值数据价值数据网页解析器网页解析器新URL列表HTML网页字符串新URL列表HTML网页字符串Python常用的解析器有四种,一是正则表达式,二是html.parser,三是beautifulSoup,四是lxml。这里我选用的是beautifulSoup作为我的网页解析器,相对于正则表达式来说,使用beautifulSoup来解析网页更为简单。beautifulSoup将网页转化为DOM树来解析,每一个节点是网页的每个标签,通过它提供的方法,你可以很容易的通过每个节点获取你想要的信息。使用方法如下:#创建BeautifulSoup对象soup=BeautifulSoup(html_cont,'html.parser',from_encoding='utf-8')#查找所有标签为a的节点,且href匹配正则表达式links=soup.find_all('a',href=repile(r"/item/\%"))#查找所欲标签为div的节点summary_node=soup.find('div',class_="lemma-summary")4.4数据输出器详细设计数据输出器是负责数据输出的工具。如果要输出的文件不存在,程序会自动创建,并且每次重写之前都会清空网页的内容。这里我选择的输出方式是TXT文档,直接将数据分析器得到的数据存储在output.txt文件中。5调试与测试5.1调试过程中遇到的问题爬取第一个页面之后没有新的页面解决方案:根据子网页,选择合适的正则表达式(1)测试过程中某些网页中缺少标题或简介。解决方案:往集合中添加数据的时候,判断一下是否为空,不为空再添加。5.2测试数据及结果显示测试的结果以txt文档形式显示,生成的文档路径和代码路径一致、6课程设计心得与体会Python是一门面向对象的解释性语言(脚本语言),这一类语言的特点就是不用编译,程序在运行的过程中,由对应的解释器向CPU进行翻译,个人理解就是一边编译一边执行。而Java这一类语言是需要预先编译的。没有编译最大的痛苦就是无法进行断点调试,唯一的办法就是在有疑问的地方打印各个变量的值来进行调试。这一类语言也没用类型,也就是说一个变量即可能是int型,但是也可能是String型,而且可以随时变化。

python对于代码格式要求也相当严格,通过对于缩进的距离来判断代码是否处于同一个代码块。

Python也不依靠分号来决定一句代码是否结束,一行代码就是一句代码。这样做的好处在于代码编写看上去很统一,不过习惯了java再看python,一开始还真的有点懵。

总得来说,对Python的初涉感觉不错,这门语言相比较Java更加的简洁,这次的课设是初步接触python,以后会自己深入学习。7参考文献[1]钱程,阳小兰,朱福喜等.基于Python的网络爬虫技术[J].黑龙江科技信息,2021,(36):273.[2]戚利娜,刘建东.基于Python的简单网络爬虫的实现[J].电脑编程技巧与维护,2021,(8):72-73.[3],CorePythonProgramming.2001-9-118附录1网络爬虫程序设计代码spiderMain.py#coding:utf-8

importlogging

fromwebCralerimporturl_manager,html_downloader,html_outputer,html_parser

classSpiderMain(object):

#初始化URL管理器,网页下载器,网页解析器和数据输出器

def__init__(self):

self.urls=url_manager.UrlManager()

self.downloader=html_downloader.HtmlDownloader()

self.parser=html_parser.HtmlParser()

self.outputer=html_outputer.HtmlOutputer()

#爬取网页

defcraw(self,url):

count=1

#向URL管理器添加新的URL

self.urls.add_new_url(url)

whileself.urls.has_new_url():

try:

#如果有新的URL,获取这个新的URL

new_url=self.urls.get_new_url()

#打印这是第几个爬取的URL

print'craw%d:%s'%(count,new_url)

#使用网页下载器下载这个网页的内容

html_cont=self.downloader.download(new_url)

#使用网页解析器解析这个网页的内容,分别为URL和数据

new_urls,new_data=self.parser.parse(new_url,html_cont)

#将解析器解析的RL添加到URL管理器

self.urls.add_new_urls(new_urls)

#将解析器解析的数据传递给数据输器

self.outputer.collect_data(new_data)

#爬取10个数据后自动结束

ifcount==20:

break

count=count+1

exceptExceptionase:

logging.exception(e)

print'crawfailed'

#数据输出器将数据使用HTML的方式输出

self.outputer.output_html()

if__name__=='__main__':

print"begin"

root_url="://baike.baidu/item/Python?sefr=ps"

obj_spider=SpiderMain()

obj_spider.craw(root_url)url_manager.py#coding:utf-8

classUrlManager(object):

def__init__(self):

self.new_urls=set()

self.old_urls=set()

#添加URL

defadd_new_url(self,url):

ifurlisNone:

return

ifurlnotinself.new_urlsandurlnotinself.old_urls:

self.new_urls.add(url)

defadd_new_urls(self,urls):

ifurlsisNoneorlen(urls)==0:

return

forurlinurls:

self.add_new_url(url)

defhas_new_url(self):

returnlen(self.new_urls)!=0

defget_new_url(self):

new_url=self.new_urls.pop()

self.old_urls.add(new_url)

returnnew_urlhtml_downloader.py#coding:utf-8

importurllib2

classHtmlDownloader(object):

defdownload(self,url):

ifurlisNone:

returnNone

response=urllib2.urlopen(url)

#如果请求码不是200,则表示请求不成功。

#典型的错误包括404(页面无法找到),403(请求禁止),401(待验证的请求)

#5XX回应代码以“5”开头的状态码表示服务器端发现自己出现错误,不能继续执行请求

ifresponse.getcode()!=200:

print"downloadhtmlfailed"

returnNone

returnresponse.read()url_parse.py#coding:utf-8

importurlparse

frombs4importBeautifulSoup

importre

classHtmlParser(object):

defparse(self,page_url,html_cont):

ifpage_urlisNoneorhtml_contisNone:

return

soup=BeautifulSoup(html_cont,'html.parser',from_encoding='utf-8')

#解析URL列表,获取URL

new_urls=self._get_new_urls(page_url,soup)

#解析数据

new_data=self._get_new_date(page_url,soup)

printnew_data

returnnew_urls,new_data

def_get_new_urls(self,page_url,soup):

new_urls=set()

#://baike.baidu/item/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6

#://baike.baidu/item/%E6%BA%90%E4%BB%A3%E7%A0%81/3969

links=soup.find_all('a',href=repile(r"/item/\%"))

forlinkinlinks:

new_url=link['href']

#://baike.baidu/item/Python?sefr=ps

new_full_url=urlparse.urljoin("://baike.baidu/",new_url)

new_urls.add(new_full_url)

returnnew_urls

def_get_new_date(self,page_url,soup):

res_data={}

#url

res_data['url']=page_url

#<ddclass="lemmaWgt-lemmaTitle-title"><h1>Python</h1>

title_node=soup.find('dd',class_="lemmaWgt-lemmaTitle-title").find('h1')

res_data['title']=title_node.get_text()

#<divclass="lemma-summary"label-module="lemmaSummary">

summary_node=soup.find('div',class_="lemma-summary")

#这句话有可能出现空!!!

res_data['summary']=summary_node.get_text()

printres_data['summary']

returnres_datahtml_outputer.py#coding:utf-8

classHtmlOutputer(object):

def__init__(self):

#建立列表存放数据

self.datas=[]

#收集数据

defcollect_data(self,data):

ifdataisNone:

return

self.datas.append(data)

#输出数据

defoutput_html(self):

fout=open('output.txt','w')

fordatainself.datas:

fout.write(data['url']+"\n")

fout.write(data['title'].encode('utf-8'))

fout.write(data['summary'].encode('utf-8')+"\n\n")

fout.close()9附录2网络爬虫爬取的数据文档://baike.baidu/item/Python?sefr=ps

Python

Python[1]

(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议[2]

。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3]

有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

://baike.baidu/item/%E7%BC%96%E8%AF%91%E5%99%A8

编译器

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→目标代码(objectcode)→链接器(Linker)→可执行程序(executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Sourceprogram)作为输入,翻译成目标语言(Targetlanguage)机器代码的等价程序。源代码一般为高级语言(High-levellanguage),如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Objectcode),有时也称作机器代码(Machinecode)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

://baike.baidu/item/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80

计算机程序设计语言

《计算机程序设计语言》是2002年9月清华大学出版社出版的图书,作者是DonaldE.Knuth。[1]

://baike.baidu/item/%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8

预处理器

预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。

://baike.baidu/item/%E7%9B%AE%E6%A0%87%E4%BB%A3%E7%A0%81

目标代码

目标代码(objectcode)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。

://baike.baidu/item/%E9%AB%98%E7%BA%A7%E8%AF%AD%E8%A8%80

高级语言

高级语言(High-levelprogramminglanguage)相对于机器语言(machinelanguage,是一种指令集的体系。这种指令集,称机器码(machinecode),是电脑的CPU可直接解读的数据)而言。是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。由于早期电脑业的发展主要在美国,因此一般的高级语言都是以英语为蓝本。在1980年代,当东亚地区开始使用电脑时,在日本、台湾及中国大陆都曾尝试开发用各自地方语言编写的高级语言,当中主要都是改编BASIC或专用于数据库数据访问的语言,但是随着编程者的外语能力提升,现时的有关开发很少。由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。(3)计算机网络系统工艺流程机柜安装机柜安装设备安装启动与配置安装网管网络测试完工验收操作方法A.机柜安装根据设计要求确定安装19英寸标准机柜位置,机柜正面净空不小于150cm、背面净空不小于80cm。螺钉安装紧固,机柜安装平稳、牢固,垂直偏差度小于3mm。机柜内安装足够容量的电源插座,注意电源极性:左零、右火,中地.采用25平方毫米地线良好接地,接地电阻〈1Ω。B。设备安装从库房领取设备,核对型号、数量,登记序列号.设备开箱,按清单清点附件及检查设备外观。阅读安装手册和操作说明,安装信息模块和相关部件。用螺钉将固定挂耳固定在设备前面板或后面板两侧。将设备放置在机柜的一个托盘上,根据实际情况,沿机柜导槽移动设备至合适位置,注意保证设备与导轨间的合适距离。用满足机柜安装尺寸要求的盘头螺钉,将设备通过固定挂耳固定在机柜上,保证设备位置水平并牢固。如右图所示。(1)安装挂耳(2)固定导槽连接地线,保护地接地点位于机箱后面板,用一根〉6平方毫米接地电缆将该点与机柜连接起来,要求连接良好且接地电阻不大于1Ω。(1)接地端子连接电源线,将设备电源开关置于OFF位置,用随机所带的电源线一端插到设备的电源插座上,另一端插到交流电源插座上。如下图所示。把设备电源开关拨到ON位置.检查设备前面板电源灯PWR是否变亮,查看其他状态是否正常。连接以太网电缆,连接线应稳固、走向清楚、明确,粘贴永久性标签。以太网电缆如下图所示。(1)交流输入(2)电源开关以太网电缆示意图启动与配置关闭设备、电脑的电源,通过配置电缆将配置终端的RS232串口与设备的配置口相连。配置电缆及连接方式如下图所示。配置口电缆示意图设置配置终端的参数在微机上运行终端仿真程序(如Windows95/98/2000/XP的超级终端),建立新的连接。如右图所示,键入新连接的名称,按[确定]按钮.选择连接端口。在进行本地配置时,如下图所示,[连接时使用]一栏选择连接的串口(注意选择的串口应该与配置电缆实际连接的串口一致).设置串口参数。如下图所示,在串口的属性对话框中设置波特率为9600,数据位为8,奇偶校验为无通过COM口进行本地配置示意图,停止位为1,流量控制为无,按[确定]按钮,返回超级终端窗口。配置超级终端属性。在超级终端中选择[属性/设置]一项,进入下图所示的属性设置窗口。选择终端仿真类型为VT100或自动检测,按[确定]按钮,返回超级终端窗口。设备上电与配置质量标准《智能建筑设计标准》GB/T50314—2021《智能建筑工程质量验收规范》GB50339-2021。《电子计算机房设计规范》GB50174-2021《电气装置安装工程施工及验收规范》GB50254~GB50259《建筑与建筑群综合布线系统工程设计规范》GB/T50311-2000《建筑与建筑群综合布线系统工程验收规范》GB/T50312—2000《商业建筑电信布线标准》EIA/TIA568A《用户建筑综合布线》ISO/IECISO11801《建筑通信线路间距标准》EIA/TIA569《商业建筑通信接地要求》EIA/TIA607成品保护安装完毕应保持面板干净,无尘土、无指印。锁好机柜门,避免无关人员触摸。散热风扇保持正常,避免烧坏设备。安装调试程序设置好密码,避免无关人员更改配置。电源线和跳线保护好,避免无关人员损坏。应注意的质量问题设备安装平稳、牢固.设备四周留有一定间隔.注意电源电压、电源极性(左零、右火、中地)。电源线、地线、跳线连接牢固,且接地装置满足接地电阻<1Ω。跳线走向明确,有永久性标记。计算机科学与技术专业《计算机网络安全》试卷一、单项选择题(每小题1分,共30分)在下列每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内。1.非法接收者在截获密文后试图从中分析出明文的过程称为(A)A.破译B.解密C.加密D.攻击2.以下有关软件加密和硬件加密的比较,不正确的是(B)A.硬件加密对用户是透明的,而软件加密需要在操作系统或软件中写入加密程序B.硬件加密的兼容性比软件加密好C.硬件加密的安全性比软件加密好D.硬件加密的速度比软件加密快3.下面有关3DES的数学描述,正确的是(B)A.C=E(E(E(P,K1),K1),K1)B.C=E(D(E(P,K1),K2),K1)C.C=E(D(E(P,K1),K1),K1)D.C=D(E(D(P,K1),K2),K1)4.PKI无法实现(D)A.身份认证B.数据的完整性C.数据的机密性D.权限分配5.CA的主要功能为(D)A.确认用户的身份B.为用户提供证书的申请、下载、查询、注销和恢复等操作C.定义了密码系统的使用方法和原则D.负责发放和管理数字证书6.数字证书不包含(B)A.颁发机构的名称B.证书持有者的私有密钥信息C.证书的有效期D.CA签发证书时所使用的签名算法7.“在因特网上没有人知道对方是一个人还是一条狗”这个故事最能说明(A)A.身份认证的重要性和迫切性B.网络上所有的活动都是不可见的C.网络应用中存在不严肃性D.计算机网络是一个虚拟的世界8.以下认证方式中,最为安全的是(D)A.用户名+密码B.卡+密钥C.用户名+密码+验证码D.卡+指纹9.将通过在别人丢弃的废旧硬盘、U盘等介质中获取他人有用信息的行为称为(D)A.社会工程学B.搭线窃听C.窥探D.垃圾搜索10.ARP欺骗的实质是(A)A.提供虚拟的MAC与IP地址的组合B.让其他计算机知道自己的存在C.窃取用户在网络中传输的数据D.扰乱网络的正常运行11.TCPSYN泛洪攻击的原理是利用了(A)A.TCP三次握手过程B.TCP面向流的工作机制C.TCP数据传输中的窗口技术D.TCP连接终止时的FIN报文12.DNSSEC中并未采用(C)A.数字签名技术B.公钥加密技术C.地址绑定技术D.报文摘要技术13.当计算机上发现病毒时,最彻底的清除方法为(A)A.格式化硬盘B.用防病毒软件清除病毒C.删除感染病毒的文件D.删除磁盘上所有的文件14.木马与病毒的最大区别是(B)A.木马不破坏文件,而病毒会破坏文件B.木马无法自我复制,而病毒能够自我复制C.木马无法使数据丢失,而病毒会使数据丢失D.木马不具有潜伏性,而病毒具有潜伏性15.经常与黑客软件配合使用的是(C)A.病毒B.蠕虫C.木马D.间谍软件16.目前使用的防杀病毒软件的作用是(C)A.检查计算机是否感染病毒,并消除已感染的任何病毒B.杜绝病毒对计算机的侵害C.检查计算机是否感染病毒,并清除部分已感染的病毒D.查出已感染的任何病毒,清除部分已感染的病毒17.死亡之ping属于(B)A.冒充攻击B.拒绝服务攻击C.重放攻击D.篡改攻击18.泪滴使用了IP数据报中的(A)A.段位移字段的功能B.协议字段的功能C.标识字段的功能D.生存期字段的功能19.ICMP泛洪利用了(C)A.ARP命令的功能B.tracert命令的功能C.ping命令的功能D.route命令的功能20.将利用虚假IP地址进行ICMP报文传输的攻击方法称为(D)A.ICMP泛洪B.LAND攻击C.死亡之pingD.Smurf攻击21.以下哪一种方法无法防范口令攻击(A)A.启用防火墙功能B.设置复杂的系统认证口令C.关闭不需要的网络服务D.修改系统默认的认证名称22.以下设备和系统中,不可能集成防火墙功能的是(A)A.集线器B.交换机C.路由器D.WindowsServer2003操作系统23.对“防火墙本身是免疫的”这句话的正确理解是(B)A.防火墙本身是不会死机的B.防火墙本身具有抗攻击能力C.防火墙本身具有对计算机病毒的免疫力D.防火墙本身具有清除计算机病毒的能力24.以下关于传统防火墙的描述,不正确的是(A)A.即可防内,也可防外B.存在结构限制,无法适应当前有线网络和无线网络并存的需要C.工作效率较低,如果硬件配置较低或参数配置不当,防火墙将成形成网络瓶颈D.容易出现单点故障25.下面对于个人防火墙的描述,不正确的是(C)A.个人防火墙是为防护接入互联网的单机操作系统而出现的B.个人防火墙的功能与企业级防火墙类似,而配置和管理相对简单C.所有的单机杀病毒软件都具有个人防火墙的功能D.为了满足非专业用户的使用,个人防火墙的配置方法相对简单26.VPN的应用特点主要表现在两个方面,分别是(A)A.应用成本低廉和使用安全B.便于实现和管理方便C.资源丰富和使用便捷D.高速和安全27.如果要实现用户在家中随时访问单位内部的数字资源,可以通过以下哪一种方式实现(C)A.外联网VPNB.内联网VPNC.远程接入VPND.专线接入28.在以下隧道协议中,属于三层隧道协议的是(D)A.L2FB.PPTPC.L2TPD.IPSec29.以下哪一种方法中,无法防范蠕虫的入侵。(B)A.及时安装操作系统和应用软件补丁程序B.将可疑邮件的附件下载等文件夹中,然后再双击打开C.设置文件夹选项,显示文件名的扩展名D.不要打开扩展名为VBS、SHS、PIF等邮件附件30.以下哪一种现象,一般不可能是中木马后引起的(B)A.计算机的反应速度下降,计算机自动被关机或是重启B.计算机启动时速度变慢,硬盘不断发出“咯吱,咯吱”的声音C.在没有操作计算机时,而硬盘灯却闪个不停D.在浏览网页时网页会自动关闭,软驱或光驱会在无盘的情况下读个不停31.下面有关DES的描述,不正确的是(A)A.是由IBM、Sun等公司共同提出的B.其结构完全遵循Feistel密码结构C.其算法是完全公开的D.是目前应用最为广泛的一种分组密码算法32.“信息安全”中的“信息”是指(A)A、以电子形式存在的数据B、计算机网络C、信息本身、信息处理过程、信息处理设施和信息处理都D、软硬件平台33.下面不属于身份认证方法的是(A)A.口令认证B.智能卡认证C.姓名认证D.指纹认证34.数字证书不包含(B)A.颁发机构的名称B.证书持有者的私有密钥信息C.证书的有效期D.CA签发证书时所使用的签名算法35.套接字层(SocketLayer)位于(B)A.网络层与传输层之间B.传输层与应用层之间C.应用层D.传输层36.下面有关SSL的描述,不正确的是(D)A.目前大部分Web浏览器都内置了SSL协议B.SSL协议分为SSL握手协议和SSL记录协议两部分C.SSL协议中的数据压缩功能是可选的D.TLS在功能和结构上与SSL完全相同37.在基于IEEE802.1x与Radius组成的认证系统中,Radius服务器的功能不包括(D)A.验证用户身份的合法性B.授权用户访问网络资源C.对用户进行审计D.对客户端的MAC地址进行绑定38.在生物特征认证中,不适宜于作为认证特征的是(D)A.指纹B.虹膜C.脸像D.体重39.防止重放攻击最有效的方法是(B)A.对用户账户和密码进行加密B.使用“一次一密”加密方式C.经常修改用户账户名称和密码D.使用复杂的账户名称和密码40.计算机病毒的危害性表现在(B)A.能造成计算机部分配置永久性失效B.影响程序的执行或破坏用户数据与程序C.不影响计算机的运行速度D.不影响计算机的运算结果41.下面有关计算机病毒的说法,描述不正确的是(B)A.计算机病毒是一个MIS程序B.计算机病毒是对人体有害的传染性疾病C.计算机病毒是一个能够通过自身传染,起破坏作用的计算机程序D.计算机病毒是一段程序,只会影响计算机系统,但不会影响计算机网络42计算机病毒具有(A)A.传播性、潜伏性、破坏性B.传播性、破坏性、易读性C.潜伏性、破坏性、易读性D.传播性、潜伏性、安全性43.目前使用的防杀病毒软件的作用是(C)A.检查计算机是否感染病毒,并消除已感染的任何病毒B.杜绝病毒对计算机的侵害C.检查计算机是否感染病毒,并清除部分已感染的病毒D.查出已感染的任何病毒,清除部分已感染的病毒44在DDoS攻击中,通过非法入侵并被控制,但并不向被攻击者直接发起攻击的计算机称为(B)A.攻击者B.主控端C.代理服务器D.被攻击者45.对利用软件缺陷进行的网络攻击,最有效的防范方法是(A)A.及时更新补丁程序B.安装防病毒软件并及时更新病毒库C.安装防火墙D.安装漏洞扫描软件46.在IDS中,将收集到的信息与数据库中已有的记录进行比较,从而发现违背安全策略的行为,这类操作方法称为(A)A.模式匹配B.统计分析C.完整性分析D.不确定47.IPS能够实时检查和阻止入侵的原理在于IPS拥有众多的(C)A.主机传感器B.网络传感器C.过滤器D.管理控制台48.将利用虚假IP地址进行ICMP报文传输的攻击方法称为(D)A.ICMP泛洪B.LAND攻击C.死亡之pingD.Smurf攻击49.以下哪一种方法无法防范口令攻击(C)A.启用防火墙功能B.设置复杂的系统认证口令C.关闭不需要的网络服务D.修改系统默认的认证名称50.在分布式防火墙系统组成中不包括(D)A.网络防火墙B.主机防火墙C.中心管理服务器D.传统防火墙51下面对于个人防火墙未来的发展方向,描述不准确的是(D)A.与xDSLModem、无线AP等网络设备集成B.与防病毒软件集成,并实现与防病毒软件之间的安全联动C.将个人防火墙作为企业防火墙的有机组成部分D.与集线器等物理层设备集成52.在以下各项功能中,不可能集成在防火墙上的是(D)A.网络地址转换(NAT)B.虚拟专用网(VPN)C.入侵检测和入侵防御D.过滤内部网络中设备的MAC地址53.当某一服务器需要同时为内网用户和外网用户提供安全可靠的服务时,该服务器一般要置于防火墙的(C)A.内部B.外部C.DMZ区D.都可以54.以下关于状态检测防火墙的描述,不正确的是(D)A.所检查的数据包称为状态包,多个数据包之间存在一些关联B.能够自动打开和关闭防火墙上的通信端口C.其状态检测表由规则表和连接状态表两部分组成D.在每一次操作中,必须首先检测规则表,然后再检测连接状态表55.在以下的认证方式中,最不安全的是(A)A.PAPB.CHAPC.MS-CHAPD.SPAP56.以下有关VPN的描述,不正确的是(C)A.使用费用低廉B.为数据传输提供了机密性和完整性C.未改变原有网络的安全边界D.易于扩展57.目前计算机网络中广泛使用的加密方式为(C)A.链路加密B.节点对节点加密C.端对端加密D.以上都是58.以下有关软件加密和硬件加密的比较,不正确的是(B)A.硬件加密对用户是透明的,而软件加密需要在操作系统或软件中写入加密程序B.硬件加密的兼容性比软件加密好C.硬件加密的安全性比软件加密好D.硬件加密的速度比软件加密快59对于一个组织,保障其信息安全并不能为其带来直接的经济效益,相反还会付出较大的成本,那么组织为什么需要信息安全?(D)A.有多余的经费B.全社会都在重视信息安全,我们也应该关注C.上级或领导的要求D.组织自身业务需要和法律法规要求得分评卷人复查人二、填空题(每空1分,共20分)31.根据密码算法对明文处理方式的标准不同,可以将密码系统分为:序列密码体制和分组密码体制。32.PKI的技术基础包括公开密钥体制和加密机制两部分。33.零知识身份认证分为交互式和非交互式两种类型。34.DNS同时调用了TCP和UDP的53端口,其中UDP53端口用于DNS客户端与DNS服务器端的通信,而TCP53端口用于DNS区域之间的数据复制。35.与病毒相比,蠕虫的最大特点是消耗计算机内存和网络宽带。36.在网络入侵中,将自己伪装成合法用户来攻击系统的行为称为冒充;复制合法用户发出的数据,然后进行重发,以欺骗接收者的行为称为重放;中止或干扰服务器为合法用户提供服务的行为称为服务拒绝(拒绝服务)。37.在LAND攻击中,LAND攻击报文的源IP地址和目的IP地址是相同的。38.防火墙将网络分割为两部分,即将网络分成两个不同的安全域。对于接入Internet的局域网,其中局域网属于可信赖的安全域,而Internet属于不可信赖的非安全域。39.防火墙一般分为路由模式和透明模式两类。当用防火墙连接同一网段的不同设备时,可采用透明模式防火墙;而用防火墙连接两个完全不同的网络时,则需要使用路由模式防火墙。40.VPN系统中的身份认证技术包括用户身份证明和信息认证两种类型。31.利用公钥加密数据,然后用私钥解密数据的过程称为加密;利用私钥加密数据,然后用公钥解密数据的过程称为数字签名。32.在PKI/PMI系统中,一个合法用户只拥有一个唯一的公钥证书,但可能会同时拥有多个不同的属性证书。33.计算机网络安全领域的3A是指认证、授权和审计。34.SSL是一种综合利用对称密钥和非对称密钥技术进行安全通信的工业标准。35.扫描技术主要分为主机安全扫描和网络安全扫描两种类型。36.在IDS的报警中,可以分为错误报警和正确的报警两种类型。其中错误报警中,将IDS工作于正常状态下产生的报警称为误报;而将IDS对已知的入侵活动未产生报警的现象称为漏报。37.状态检测防火墙是在传统包过滤防火墙的基础上发展而来的,所以将传统的包过滤防火墙称为静态包过滤防火墙,而将状态检测防火墙称为动态包过滤防火墙。38.VPN是利用Internet等公共网络的基础设施,通过隧道技术,为用户提供一条与专网相同的安全通道。39.VPN系统中的三种典型技术分别是隧道技术、身份认证技术和加密技术。40.目前身份认证技术可分为PKI和非PKI两种类型,其中在VPN的用户身份认证中一般采用非PKI认证方式,而信息认证中采用PKI认证方式。得分评卷人复查人三、判断题(每小题1分,共10分)41.链路加密方式适用于在广域网系统中应用。(×)42.“一次一密”属于序列密码中的一种。(√)43.当通过浏览器以在线方式申请数字证书时,申请证书和下载证书的计算机必须是同一台计算机。(√)44.PKI和PMI在应用中必须进行绑定,而不能在物理上分开。(×)45.在网络身份认证中采用审计的目的是对所有用户的行为进行记录,以便于进行核查。(√)46.由于在TCP协议的传输过程中,传输层需要将从应用层接收到的数据以字节为组成单元划分成多个字节段,然后每个字节段单独进行路由传输,所以TCP是面向字节流的可靠的传输方式。(√)47.ARP缓存只能保存主动查询获得的IP和MAC的对应关系,而不会保存以广播形式接收到的IP和MAC的对应关系。(×)48.计算机病毒只会破坏计算机的操作系统,而对其他网络设备不起作用。(×)49.脚本文件和ActiveX控件都可以嵌入在HTML文件中执行。(√)50.要实现DDoS攻击,攻击者必须能够控制大量的计算机为其服务。(√)11.Feistel是密码设计的一个结构,而非一个具体的密码产品。(√)12.暴力破解与字典攻击属于同类网络攻击方式,其中暴力破解中所采用的字典要比字典攻击中使用的字典的范围要大。(√)13.DHCP服务器只能给客户端提供IP地址和网关地址,而不能提供DNS服务器的IP地址。(×)14.间谍软件能够修改计算机上的配置文件。(×)15.蠕虫既可以在互联网上传播,也可以在局域网上传播。而且由于局域网本身的特性,蠕虫在局域网上传播速度更快,危害更大。(√)16.与IDS相比,IPS具有深层防御的功能。(√)17.当硬件配置相同时,代理防火墙对网络运行性能的影响要比包过滤防火墙小。(×)18.在传统的包过滤、代理和状态检测3类防火墙中,只有状态检测防火墙可以在一定程度上检测并防止内部用户的恶意破坏。(√)19.防火墙一般采用“所有未被允许的就是禁止的”和“所有未被禁止的就是允许的”两个基本准则,其中前者的安全性要比后者高。(√)20.在利用VPN连接两个LAN时,LAN中必须使用TCP/IP协议。(×)得分评卷人复查人四、名词解释(每小题4分,共20分)61.对称加密与非对称加密在一个加密系统中,加密和解密使用同一个密钥,这种加密方式称为对称加密,也称为单密钥加密(2分)。如果系统采用的是双密钥体系,存在两个相互关联的密码,其中一个用于加密,另一个用于解密,这种加密方法称为非对称加密,也称为公钥加密(2分)62.蜜罐:是一种计算机网络中专门为吸引并“诱骗”那些试图非法入侵他人计算机系统的人而设计的陷阱系统(2分)。设置蜜罐的目的主要是用于被侦听、被攻击,从而研究网络安全的相关技术和方法。(2)63.PKI:PKI(公钥基础设施)是利用密码学中的公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。PKI能为各种不同安全需求的用户提供各种不同的网上安全服务所需要的密钥和证书,这些安全服务主要包括身份识别与鉴别(认证)、数据保密性、数据完整性、不可否认性及时间戳服务等,从而达到保证网上传递信息的安全、真实、完整和不可抵赖的目的(2分)。PKI的技术基础之一是公开密钥体制(1分);PKI的技术基础之二是加密机制(1分)。64.DNSSEC:DNSSEC(域名系统安全扩展)是在原有的域名系统(DNS)上通过公钥技术,对DNS中的信息进行数字签名,从而提供DNS的安全认证和信息完整性检验(2分)。发送方首先使用Hash函数对要发送的DNS信息进行计算,得到固定长度的“信息摘要”,然后对“信息摘要”用私钥进行加密,此过程实现了对“信息摘要”的数字签名;最后将要发送的DNS信息、该DNS信息的“信息摘要”以及该“信息摘要”的数字签名,一起发送出来(1分)。接收方首先采用公钥系统中的对应公钥对接收到的“信息摘要”的数字签名进行解密,得到解密后的“信息摘要”;接着用与发送方相同的Hash函数对接收到的DNS信息进行运算,得到运算后的“信息摘要”;最后,对解密后的“信息摘要”和运算后的“信息摘要”进行比较,如果两者的值相同,就可以确认接收到的DNS信息是完整的,即是由正确的DNS服务器得到的响应(1分)。65.DoS攻击:DoS(拒绝服务)攻击是一种实现简单但又很有效的攻击方式。DoS攻击的目的就是让被攻击主机拒绝用户的正常服务访问,破坏系统的正常运行,最终使用户的部分Internet连接和网络系统失效(2分)。最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。(2分)1、DNS缓存中毒:DNS为了提高查询效率,采用了缓存机制,把用户查询过的最新记录存放在缓存中,并设置生存周期(TimeToLive,TTL)。在记录没有超过TTL之前,DNS缓存中的记录一旦被客户端查询,DNS服务器(包括各级名字服务器)将把缓存区中的记录直接返回给客户端,而不需要进行逐级查询,提高了查询速率。(2分)DNS缓存中毒利用了DNS缓存机制,在DNS服务器的缓存中存入大量错误的数据记录主动供用户查询。由于缓存中大量错误的记录是攻击者伪造的,而伪造者可能会根据不同的意图伪造不同的记录。由于DNS服务器之间会进行记录的同步复制,所以在TTL内,缓存中毒的DNS服务器有可能将错误的记录发送给其他的DNS服务器,导致更多的DNS服务器中毒。(2分)2.机密性、完整性、可用性、可控性机密性是确保信息不暴露给未经授权的人或应用进程(1分);完整性是指只有得到允许的人或应用进程才能修改数据,并且能够判别出数据是否已被更改(1分);可用性是指只有得到授权的用户在需要时才可以访问数据,即使在网络被攻击时也不能阻碍授权用户对网络的使用(1分);可控性是指能够对授权范围内的信息流向和行为方式进行控制(1分)。3.PMI:PMI(授权管理基础设施)是在PKI发展的过程中为了将用户权限的管理与其公钥的管理分离,由IETF提出的一种标准。PMI的最终目标就是提供一种有效的体系结构来管理用户的属性。PMI以资源管理为核心,对资源的访问控制权统一交由授权机构统一处理(2分)。同PKI相比,两者主要区别在于PKI证明用户是谁,而PMI证明这个用户有什么权限、能干什么。PMI需要PKI为其提供身份认证。PMI实际提出了一个新的信息保护基础设施,能够与PKI紧密地集成,并系统地建立起对认可用户的特定授权,对权限管理进行系统的定义和描述,完整地提供授权服务所需过程。(2分)4.防火墙:防火墙是指设置在不同网络(如可信赖的企业内部局域网和不可信赖的公共网络)之间或网络安全域之间的一系列部件的组合(2分),通过监测、限制、更改进入不同网络或不同安全域的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以防止发生不可预测的、潜在破坏性的入侵,实现网络的安全保护。5.VPN:VPN(虚拟专用网)是利用Internet等公共网络的基础设施,通过隧道技术,为用户提供一条与专用网络具有相同通信功能的安全数据通道,实现不同网络之间以及用户与网络之间的相互连接(2分)。从VPN的定义来看,其中“虚拟”是指用户不需要建立自己专用的物理线路,而是利用Internet等公共网络资源和设备建立一条逻辑上的专用数据通道,并实现与专用数据通道相同的通信功能;“专用网络”是指这一虚拟出来的网络并不是任何连接在公共网络上的用户都能够使用的,而是只有经过授权的用户才可以使用。同时,该通道内传输的数据经过了加密和认证,从而保证了传输内容的完整性和机密性。(2分)6.DDoS攻击:DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令,一般是采用一对一方式。DDOS是在DOS基础上利用

温馨提示

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

评论

0/150

提交评论