12级《网络工程师综合实训》题目及选题要求.docx
《12级《网络工程师综合实训》题目及选题要求.docx》由会员分享,可在线阅读,更多相关《12级《网络工程师综合实训》题目及选题要求.docx(15页珍藏版)》请在冰豆网上搜索。
12级《网络工程师综合实训》题目及选题要求
说明
1.给出的题目,供各专业自由选题,也可自拟题目,若自拟题目,应按示例题目的格式提交申请,指导老师审核认可之后,方可作为课程设计的题目。
2.自由选题部分,是课程设计的核心内容,也是课程设计的主体。
3. 设计指导书《网络与信息安全系列课程实践教程》仅作为参考,不得与之完全雷同。
4.设计结束后要写出系统实践报告,以作为整个系统实践评分的书面依据和存档材料。
设计报告以规定格式的电子文档书写、打印并装订,排版及图、表要清楚、工整,提交打印稿的同时,提交电子文档。
系统实践报告按所要求的格式书写,包括:
✓ 设计任务、要求及所用软件环境或工具;
✓ 需求分析的简要描述、设计的模块构成、各模块的简要说明、流程图;
✓ 所设计软件的组成(程序文件和数据文件)及使用说明;
✓ 程序清单(核心代码);
✓ 设计总结和体会。
设计实现要求:
1)推荐采用图形界面实现。
2)程序代码书写规范,有充足的注释。
3)开发平台、开发语言不限。
4)明确题目的意图,设计上应有足够的工作量
5.选题说明:
Ø 班内选做同一设计题目的人数<=3
Ø 班内选做同一设计题目、并且采用相同开发环境完成设计的人数<=2
Ø 题目一经选定,不得随意更改
Ø 选做同一设计题目的同学并非大家合作完成同一道题目,而是每人独立完成全部设计内容
选题于12月29日12:
00结束,并由班长填写“×班选题情况汇总表”,通过电子邮件发送到指导教师的邮箱(详见下表)。
自拟题目在“×班选题情况汇总表”中的“备注”列给出题目名称,并需另外提交相关说明文档。
第1类基于套接字的网络编程
设计1.1局域网实时通讯工具
【设计目的】
1. 熟悉开发工具(VisualStudio、Delphi、BCB等)的基本操作;
2. 了解基于对话框的windows应用程序的编写过程;
3. 对于windowsSocket编程建立初步的概念。
【设计要求】
1. 熟悉WinSockAPI主要函数的使用;
2. 掌握相应开发工具对WindowsSocketAPI的封装;
3. 制作基于局域网的一对一网络即时通讯工具,实现基本数据的网络传输。
【工作原理】
略。
【设计内容】
1. 服务器端设计
2. 客户端设计
【思考题】
1. 上述设计的内容,在支持一对一的客户服务器双向通信的同时,能否支持多个客户端同时与服务器通信?
若不能,如何改造程序结构,使其支持这种模式?
2. 上述客户端、服务器端成对使用,它们发送的信息、接收的信息应整合在一个程序中实现,以增加适用性。
设计1.2网络文件传输
【设计目的】
掌握实现网络文件传输的方法,并了解TCP连接是基于字节流的。
【设计要求】
1. 实现单线程文件传输功能;
2. 在以上基础上,掌握多线程技术,在文件网络传输时,可选择单线程或多线程;
3. 加入异常控制依据,增强程序的鲁棒性(Robust);
4. 了解如何提高套接字传输的速率,以及如何加强传输的稳定性。
【工作原理】
略。
【设计内容】
1. 服务器端(负责发送数据)设计
2. 客户端(负责接收数据)设计
【思考题】
1.套接字有基于阻塞和非阻塞的工作方式,试问你编写的程序是基于阻塞还是非阻塞的?
各有什么优缺点?
2.如何将上述通信改为非阻塞,避免阻塞?
3.在传输前能否先将要传输的文件的相关属性现行报告给对方,以便对方判断是否接受该文件的传输?
4.了解并熟悉多线程工作原理,试编写基于多线程的网络文件传输程序。
设计1.3广播通信设计
【设计目的】
1.掌握广播通信技术;
2.了解基于WinsockAPI的消息机制和编程应用方法;
3.了解WindowsSDK编程架构。
【设计要求】
1.WinSockAPI编程,实现局域网消息广播的实用程序;
2.通过查阅资料,简述单播、广播、多播的区别和联系,以及各自的优缺点和适应范围。
【工作原理】
略。
【设计内容】
略。
【思考题】
完善上述程序,使用网络广播知识制作一个可用的局域网聊天室软件。
设计1.4网络版小游戏
【设计目的】
1. 熟悉开发工具(VisualStudio、Delphi、BCB等)的基本操作;
2. 掌握windows应用程序的编写过程;
3. 对于windowsSocket编程建立初步的概念。
【设计要求】
1. 熟悉WinSockAPI主要函数的使用;
2. 掌握相应开发工具对WindowsSocketAPI的封装;
3. 设计并实现一对一网络版小游戏,如:
Tic-Tac-Toe、五子棋等。
(注:
不同的游戏对应不同的设计题目)
【工作原理】
略。
【设计内容】
1. 服务器端设计
2. 客户端设计
【思考题】
1. 如何实现游戏双方的协同?
第2类基于WEB的动态网页制作
【设计目的】
1. 熟悉开发工具(Dreamweaver、FrontPage、VisualInterdev等)的基本操作;
2. 掌握基本脚本语言(ASP、PHP、JSP等),并了解其数据库开发方法;
3. 掌握当今流行数据库(Access、MSSQL、MySQL、Oracle等)的使用与操作;
4. 动态WEB站点的安装与配置。
设计2.1网上图书馆的设计与实现
【设计要求】
1. 通过以下过程:
需求分析、E-R模型、关系模型分析,在数据库中构建数据库、表或视图,熟悉数据库开发流程;
2. 根据图书馆系统功能,条理清晰地设计前台各脚本页面;
3. 在时间允许的情况下,适当考虑页面的美观;
4. 熟悉脚本页面与数据库的多种连接方法。
【工作原理】
略。
【设计内容】
略。
【思考题】
1.试比较你所采用的脚本的多种连接数据库方式?
2.如何提高脚本的执行效率,特别是数据库操作效率?
并将你的方法体现到上述设计过程中。
3.试问你所设计的网上图书馆,与现在我校采用的网上图书馆管理系统有何异同点?
你是怎么看待这个问题的。
设计2.2网上书店的设计与实现
【设计要求】
1.通过以下过程:
需求分析、E-R模型、关系模型分析,在数据库中构建数据库、表或视图,熟悉数据库开发流程;
2.根据网上书店系统功能,条理清晰地设计前台各脚本页面;
3.在时间允许的情况下,适当考虑页面的美观;
4.熟悉脚本页面与数据库的多种连接方法。
【工作原理】
略。
【设计内容】
略。
【思考题】
1. 如何提高脚本的执行效率,特别是数据库操作效率?
并将你的方法体现到上述设计过程中。
2. 如果你想使你的网上书店能够在Internet上成功运营,你还应做哪些工作?
3.如何保证你的网上书店的网络安全性,特别是你的网上书店的销售款如何收取的?
效率如何?
现实可行么?
请详细分析,并提出解决方案。
设计2.3网上报名、查分系统的设计与实现
【设计要求】
1.通过以下过程:
需求分析、E-R模型、关系模型分析,在数据库中构建数据库、表或视图,熟悉数据库开发流程;
2.根据网上报名系统功能,条理清晰地设计前台各脚本页面;
3.同时要求实现网上报名费的收取(注意安全性),统计功能;
4.在时间允许的情况下,适当考虑页面的美观;
【工作原理】
略。
【设计内容】
略。
【思考题】
1. 如何提高脚本的执行效率,特别是数据库操作效率?
并将你的方法体现到上述设计过程中。
2. 现在有很多网上报名系统(如安徽省自考的网上报名系统),极大地方便了广大用户,试比较你设计的报名系统与其有何异同点?
3. 如何保证你的网上报名系统的安全性?
4. 用户丢失用户名、密码?
你使用什么方法返回用户名、密码,涉及什么技术,可能会引发什么问题?
设计2.4基于Web的新闻发布系统
【设计要求】
1.分析已有的基于Web的新闻发布系统,进行需求分析和功能设计;
2.在数据库中构建数据库、表或视图,熟悉数据库开发流程;
3.根据新闻发布系统的功能,条理清晰地设计各页面和脚本,掌握动态网页的制作技术;
4.在时间允许的情况下,适当考虑页面的美观;
【工作原理】
略。
【设计内容】
1. 前台:
用户浏览新闻部分的设计
2. 后台:
管理员发布新闻部分的设计
【思考题】
1. 基于Web的新闻发布系统是企事业单位网站的重要组成部分,现在有很多新闻发布系统(如我校的新闻中心“
设计2.5网上留言簿的设计与实现
【设计要求】
1.进行网上留言簿的需求分析和功能设计;
2.在数据库中构建数据库、表或视图,熟悉数据库开发流程;
3.根据网上留言簿的功能,设计各页面和脚本,掌握动态网页的制作技术;
【工作原理】
略。
【设计内容】
1. 前台:
用户浏览、发布以及搜索留言部分的设计
2. 后台:
管理员管理、回复留言部分的设计
【思考题】
略。
设计2.6网络投票系统设计与实现
【设计要求】
1.进行网络投票系统的需求分析和功能设计;
2.在数据库中构建数据库、表或视图,熟悉数据库开发流程;
3.根据网络投票系统的功能,设计各页面和脚本,掌握动态网页的制作技术;
【工作原理】
略。
【设计内容】
1. 后台:
能编辑候选人名单、能发布投票的结果、能接收投票、能设置投票的起止时间、能记录每个投票者得名字、主机的ip、主机的cpuid、投票的时间、能制定和实施合理的投票规则。
2. 前台:
能查看候选人名单、投票的结果、能投票
【思考题】
略。
第3类嗅探和端口扫描
【设计目的】
1. 熟悉开发工具(VisualC++6.0、Delphi等)的基本操作;
2. 掌握嗅探或端口扫描的基本原理与技术;
3. 更深层次地理解相关网络协议。
设计3.1嗅探器的设计与实现
【设计要求】
1. 不限平台,可以使用Libpcap、WinPcap或Linux的原始套接字;
2. 实现一个功能比较简单的、具有图形界面的Sniffer,主线程响应用户界面操作,工作线程完成抓包等工作;
3. 能够解析出IP层和传输层的协议头,能够过滤TCP、UDP等数据包;
4. 能够输出文本方式传送的数据包的内容;
5. 能够进行简单的流量统计。
【工作原理】
略。
【设计内容】
略。
【思考题】
1.嗅探器使用的网卡工作于什么模式?
2.你觉得应如何反嗅探?
3.怎样利用嗅探器帮助我们进行网络安全管理?
如发现异常的网络通讯?
设计3.2端口扫描工具的设计与实现
【设计要求】
1. 实现一个功能比较简单的、具有图形界面的端口扫描工具,主线程响应用户界面操作,工作线程完成端口扫描等工作;
2. 能够扫描指定IP地址的主机/服务器开放了哪些端口;
3. 能够扫描指定IP地址范围内的哪些主机/服务器开放了特定端口,如常见的TCP端口FTP(21)、SMTP(25),UDP端口DNS(53)、SNMP(161);
4. 扫描动作要具有一定的隐蔽性和效率。
【工作原理】
略。
【设计内容】
略。
【思考题】
1.怎样让端口扫描更隐蔽?
2.通过什么方式或手段,能够发现你自己的计算机被端口扫描?
第4类网络攻防
【设计目的】
1.熟悉开发工具(VisualC++6.0、Delphi等)的基本操作;
2.掌握网络攻击的基本原理与技术;
3.进一步熟悉联网与访问控制技术及系统脆弱性。
设计4.1口令攻击系统的设计与实现
【设计要求】(难度较大)
1.拟订口令破解方案;
2.实现一个功能比较简单的、具有图形界面的口令攻击系统,主线程响应用户界面操作,工作线程完成口令穷举攻击;
3.支持暴力破解和字典猜测法进行破解;
4.构造请求,对防御端目标机的进行口令猜解;
5.将破解后的口令和密码显示在窗口中。
【工作原理】
口令攻击常常是黑客攻击目标主机的开始,黑客一旦获取了目标主机上的用户帐号口令,被攻击者的大门也就随之打开。
1、口令攻击原理
网络上的用户常常喜欢用英文单词、自己的姓氏、生日或电话号码等自己熟悉的符号或数字作为口令,口令攻击正是利用了人的这种行为习惯,通过编程形成符合上述条件的所谓字典存储于计算机,然后自动地从字典中取出单词或数字,作为用户的口令输入给远端主机,申请进入系统。
若口令错误,则按序取下一个,循环往复,直到找到正确的口令为止。
2、口令破解方法
常用的口令破解方法有:
(1)穷举法
穷举法(也叫蛮力猜测)就是对所有可能的口令组合进行猜测,如先从字母a开始,尝试aa、ab、ac等,然后尝试aaa、aab、aac、……最终找出要破解的口令。
著名的基于穷举法原理的口令猜测软件(口令破解器)有:
Passtest和Netcmck。
事实上大多数口令破解器并不是真正地对密码进行解密,而是通过尝试一个个的单词,用知道的加密算法来加密这些单词,当发现一个经某种加密后的结果和要解密的数据一样时,就认为这个单词就是要找的密码了。
理论上穷举法可以破解所有的口令,但实际上穷举法对口令的测试次数是随着口令的长度成指数增长的。
当口令的长度较长且不仅由数字和英文字母组成,而是含有某些特殊字符时,穷举法所耗费的时间就会很长,使得以黑客用目前的计算机工具难以获得口令。
(2)字典法
字典法破解是使用一个包含大多数字典单词的文件(通常为.txt文件,并且每行只有一个字符串,内容主要为家庭或单位的电话号码、身份证号码或一些有规律的字符等等)作为用户口令输入给远端主机,以此来猜测用户口令,直到口令验证通过为止。
字典法是今天黑客最常用的一种口令攻击方法之一。
(3)组合法
穷举法能发现所有的口令,但破解口令的时间可能很长。
字典法速度快,但只能发现字典单词口令。
当用户把口令如mygard变成mygard456等字母和数字混合形式时,破解这种口令的一种方法是使用字典单词但又在单词的尾部串接几个字母和数字,即组合法。
组合法是介于穷举法和字典法之间的口令攻击方法。
3、可能用到的API函数
WNnetAddConnection2建立与目标计算机的连接;
WNnetCancelConnection2中断一个已经存在的网络连接;
WNnetOpenEnum开始网络资源枚举或网络连接枚举;
WNnetEnumResource继续网络资源枚举或网络连接枚举;
NetUesEnum枚举产生用户列表。
【设计内容】
同“设计要求”。
【思考题】
1.怎样提高口令攻击的效率?
降低口令攻击的隐蔽性?
2.你觉得如何才能使口令更安全?
设计4.2网络准入控制系统的设计与实现
【设计要求】
1.在线获取用户/终端信息,包括用户名、口令、MAC地址和IP地址信息、开放端口等,
2.根据预先定义的网络准入策略,控制用户/终端对特定网络的访问能力。
【工作原理】
网络准入控制是指根据预先设定的准入策略,对用户进行身份认证,检测终端的健康状态、运行情况以及用户上网行为,对用户/终端实施允许、隔离或阻断等准入控制决策的技术。
其基本流程如下:
用户在接入网络,访问有效资源之前,控制器(程序)自动发现接入设备,对其进行强制认证跳转,用户需要使用合法的账户登入系统或进行注册合法账号,否则不能通过网络访问任何资源。
准入策略一般包括IP/MAC绑定、用户/终端绑定、开放端口设置等。
【设计内容】
略
【思考题】
1.常用的网络准入控制方法有哪些?
2.终端的健康状态可能包括哪些方面?
第5类其他题目
难度级别:
从高至低分别是A、B、C
1.网络协议解析(基于文件)
(1)使用报文分析工具软件,捕获报文并进行存储,获得报文数据文件。
(2)编程,在图形界面下,对报文的协议进行解码
(3)对ethernet_II、ip、tcp、udp协议进行解码【C】
(4)对ieee802.3、icmp协议进行解码【B】
(5)对ftp协议进行解码【A】
2.网络协议解析(基于RawSocket)
(1)编程,基于socketAPI接口,使用rawsocket捕获网络报文,过滤得到指定格式的报文
(2)编程,在图形界面下,对报文的协议进行解码
(3)对ethernet_II、ip、tcp、udp协议进行解码【C】
(4)对ieee802.3、arp协议进行解码【B】
(5)对http协议进行解码【A】
3.网络协议解析(基于Winpcap接口)
(1)编程,基于winpcap接口,捕获网络报文,过滤得到指定格式的报文
(2)编程,在图形界面下,对报文的协议进行解码
(3)对ethernet_II、ip、tcp、udp协议进行解码【C】
(4)对IPV6、ICMPV6协议进行简单的解码【B】
(5)对除ftp、http外的某种应用层协议进行解码【A】
4.模拟共享网络中Ethernet帧的发送过程
使用至少2个线程模拟Ethernet上主机的数据发送流程。
发送流程必须遵循CSMA/CD协议【C】。
5.发送和解析EthernetARP包
熟悉ARP协议并了解Winpcap编程,构造ARP包;先在主机A,ARP包发送出给主机B。
再在主机B上解析此ARP包。
【C】
6.模拟TCP协议通信过程
编程,基于图形界面,仿真两个对等的tcp通信实体,完成一次文件(数据较长)传输的通信过程。
要求具有如下的交互能力:
(1)数据文件的长度的设置
(2)双方发送、接收窗口大小的设置
(3)报文丢失、出错、重复、顺序的人为设置(可定义有关策略
(4)发送、或接收能力的设置(假设一方主机很忙)
(5)设置可采取预先设置、也可中途设置
(6)可自动演示、可单步操作
(7)每一步报文都可给出tcp头部数据,并进行说明【B】
(8)给出时间轴,以起始时间为0,适当考虑网络发送、接收处理及传输延迟,给出每个报文发送与接收时间
7.RIP路由仿真配置与测试程序设计
以图形化界面形式,对多个路由器组成的网络,实现RIP路由仿真配置与测试。
路由学习建议采用多线程方式实现。
【A】
8.FTP客户端设计(基于winsock接口)
实现的ftp客户端,能列出/更改目录,上下传文件,显示文件列表等选项。
【A】
9.HTTP客户端的设计与实现(基于winsock接口)
开发一HTTP客户端,使其能够向web服务器请求文件、和向服务器提交数据,以便服务器做出相应的处理。
【A】
10.电子邮件客户端的设计与实现(基于winsock接口)
完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面。
能批量发送邮件。
【A】
11.软件路由器的设计与实现(基于Winpcap接口)
(1)编程实现一个简易的路由器(具有路由功能)
(2)具有图形化界面、显示所有的过路、已路由、已丢弃报文
(3)对ethernet_ii、简单的ip、tcp、udp协议进行解码
(4)支持静态路由的配置【B】
(5)可以人为地对可路由报文进行延迟发送、删除、修改、改变发送顺序等操作【A】
12.利用RTP协议完成多媒体数据流传输
(1)消化理解实时传输协议RTP及其源代码(可以从网上下载)
(2)分别编写个服务器、客户端程序,使用RTP协议来实时传输视频数据或音频数据【A】
13.自定义应用层协议的设计与实现(基于UDP)
协议名称:
myqq
协议功能:
实现简单的聊天系统功能
(1)注册
(2)登入与注销
(3)获取在线用户表
(4)对指定用户发送聊天报文
(5)群发聊天报文【A】
14.TCP通信仿真课件设计
设计一个课件程序,采用图形化设计,主要功能:
(1)能读取wireshark或sniffer工具所捕获的数据文件
(2)能以直观形式表达TCP连接的建立、释放过程
(3)能以直观形式表达报文序号变化、应答机制【B】
(4)能以直观形式仿真报文的丢失与重传
(5)*能以直观形式表达流量控制【A】
15.扩展UDP实现SR可靠数据传输
(1)熟悉流水线可靠数据传输机制(GBN);
(2)熟悉TCP/UDP协议规范;
(3)基于UDP的SR(选择重传)可靠数据传输机制分析与设计
(4)UDPSocket程序设计
(5)利用UDP实现可靠数据传输服务的验证系统设计与实现【A】
16.TRACERT图形化工具
(1)另写一个程序,取代Windows下的Tracert命令,并以图形界面显示输出结果。
(2)能解析主机的域名(将域名解析成对应的IP)
(3)支持对物理网络的跟踪【B】
(4)支持逻辑网络的定义、及对逻辑网络的跟踪【A】
17.OSPF实现
熟悉OSPF协议,寻求指定有向图的最短路径。
要求用图形显示求解过程。
【A】