CN109523858A - 一种基于docker的网络协议仿真教学系统实现方法与流程 - Google Patents
一种基于docker的网络协议仿真教学系统实现方法与流程 Download PDFInfo
- Publication number
- CN109523858A CN109523858A CN201811512057.4A CN201811512057A CN109523858A CN 109523858 A CN109523858 A CN 109523858A CN 201811512057 A CN201811512057 A CN 201811512057A CN 109523858 A CN109523858 A CN 109523858A
- Authority
- CN
- China
- Prior art keywords
- docker
- network
- student
- protocol
- container
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明公开了一种基于docker的网络协议仿真教学系统实现方法与流程,包括使用docker虚拟机构建的操作系统平台、使用scapy作为协议发生器,使用wireshark作为协议分析器的协议分析体系以及使用sflow记录的课程情况。本发明能够在服务器为每位参与实验的学生生成具体实验课程所需要的网络协议环境,如网络中数据包发生环境,协议交互环境,以及数据包捕获环境,帮助学生更好的学习计算机网络基础知识。该系统也能为教师记录教学情况,供教师评价教学效果提供依据,协助教师更好的完成教学任务。
Description
技术领域
本发明涉及仿真教学技术领域,具体为一种基于docker的网络协议仿真教学系统实现方法与流程。
背景技术
云计算是一种业界广泛使用的计算模式,该模式通过虚拟化、集中管理等技术,通过网络提供各类计算资源,用户可以通过网络随时随地到云计算资源中心获取各类所需的资源。目前大部分高校实验室均有云平台的实现(政府采购网合同编号)。
Docker是基于Linux容器技术进行的操作系统层虚拟化构建的轻量级云平台,主要用于解决服务器应用快速构建、部署和分享的问题。使用Docker平台构建的云中每个容器都有自己的网络堆栈、进程空间、文件系统等,可以使用容器安装任何想要的软件,各软件独立运行,不影响其他容器和宿主机。
高校的计算机网络知识教学一直在探索新思路、新方法,从最开始的依赖课本理论,到使用商业协议分析仪或各种仿真实验环境(硬件协议分析仪如科来网络分析系统,传统的软件协议仿真环境如华为的ensp),相对以前学生只是被动学习到自己动手,网络协议仿真教学系统起到了很大的作用。
但是使用商业协议分析仪需要特定硬件支持,设备使用率低和维护工作量大,目前已经较少使用。使用传统的仿真实验环境,存在实验配置复杂,课程教学中往往要花大量时间为每个学生配置实验环境,而且学生的实验过程不能一一记录。综上,高校计算机网络知识教学需要一种工具或手段,在目前的网络教学环境的基础上,简化教学准备,记录教学过程,进而帮助学生理解和学习计算机网络知识。
发明内容
本发明的目的在于提供一种基于docker的网络协议仿真教学系统实现方法与流程,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于docker的网络协议仿真教学系统,包括使用docker虚拟机构建的操作系统平台、使用scapy作为协议发生器,使用wireshark作为协议分析器的协议分析体系以及使用sflow记录的课程情况;其中,操作系统平台使用docker构建,包括docker服务器;所述docker服务器通过核心交换机连接多个学生客户端。
优选的,所述docker服务器采用华为RH2288H v3,该服务器使用两颗Intel XeonE5-2650V4cpu,配置160GB内存;所述核心交换采用华为s5720-32c-hi-24s-ac;所述学生客户端采用低配的云平台瘦客户端,所述学生客户端数量按课程需要配置。
优选的,一种基于docker的网络协议仿真教学系统的实现方法与流程,包括以下步骤:
A、实验人员在开课前按班级人数启动相应数量docker容器;
B、实验人员使用docker官方的docker-ubuntu-vnc-desktop桌面系统,安装协议分析体系所需要软件,使用docker run命令批量生成多个容器实例,并开放服务器容器实例对应端口;
C、学生使用浏览器登录服务器开放端口的桌面系统,实验过程中两人一组,学生甲容器1作为攻击者,学生乙容器2作为受害者,容器1上scapy arp数据报文,通过网络发送给容器2,容器2开启wireshark嗅探并保存数据报文,查看到容器2的arp缓存已经被替换为攻击者设定的数据报文;
D、核心交换机开启sflow流协议,指定ip将sflow流发送到教师端,教师端使用sflow-RT进行实时网络监控,实时监控可以设置采样频率来获得网络情况的统计数据;
E、系统后台使用influxDB做数据持久化,通过对容器使用端口的筛选和网络流时序统计,给出有实验数据支撑的成绩评定。
与现有技术相比,本发明的有益效果是:
(1)本发明能够在服务器为每位参与实验的学生生成具体实验课程所需要的网络协议环境,如网络中数据包发生环境,协议交互环境,以及数据包捕获环境,帮助学生更好的学习计算机网络基础知识。该系统也能为教师记录教学情况,供教师评价教学效果提供依据,协助教师更好的完成教学任务。
(2)本发明能批量为每个学生生成个性化平台,以往的协议分析教学环境,硬件平台存在设备使用率低和维护工作量大,传统仿真平台实验配置复杂;本发明使用成熟的开源软件进行网络数据的捕获和模拟,对于传统的仿真平台大多使用专用软件,用于模拟其特定硬件,而使用基于linux环境的软件体系,该系统全部软件环境公开透明;此外,本发明使用网络协议监控,传统协议分析平台受限于当时的软、硬件条件,缺乏对教学过程记录和监控,基于sflow的监控可以实时监控实验情况并在课后统计实验结果。
附图说明
图1为本发明系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于docker的网络协议仿真教学系统,包括使用docker虚拟机构建的操作系统平台、使用scapy作为协议发生器,使用wireshark作为协议分析器的协议分析体系以及使用sflow记录的课程情况;其中,操作系统平台使用docker构建,包括docker服务器1;所述docker服务器通过核心交换机2连接多个学生客户端3;其中,docker服务器1采用华为RH2288H v3,该服务器使用两颗Intel XeonE5-2650V4 cpu,配置160GB内存;所述核心交换机2采用华为s5720-32c-hi-24s-ac;所述学生客户端3采用低配的云平台瘦客户端,所述学生客户端数量按课程需要配置。
操作系统平台使用docker构建,可以应用常见的*nix系统,为了方便学生学习,推荐ubuntu操作系统。该系统由实验管理员根据课程需要进行配置,并在开课前按班级人数启动相应数量docker容器,目前教学班不会超过60人,双cpu,120g以上内存服务器可以轻松开启60个以上容器。
协议分析体系是docker容器中的操作系统在实验管理员配置时,至少应该安装的两种开源软件,scapy是一个可以让用户发送、侦听和解析并伪装网络报文的python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具,该程序在构建网络数据报文时简单快捷。Wireshark是一个网络封包分析软件。该软件撷取网络封包,并按用户设置的解析模式提供详细的网络封包资料。
课程情况记录是指通过核心交换机内嵌的sflow功能,以连续实时的方式监视每一个端口,将课程中网络情况发送给教师端进行记录。Sflow功能是基于RFC 3176标准的网络导出协议实现,它增加了关于被监视数据包的很多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了以前使用的RMON、RMON II和NetFlow技术。该记录过程不需要镜像监视端口,对整个网络性能的影响也非常小。教师端可以使用开源的sflowtool等工具进行网络情况监控和记录,用于课程情况评价和实验结果统计。
本发明中,一种基于docker的网络协议仿真教学系统的实现方法与流程,包括以下步骤:
A、实验人员在开课前按班级人数启动相应数量docker容器;
B、实验人员使用docker官方的docker-ubuntu-vnc-desktop桌面系统,安装协议分析体系所需要软件,使用docker run命令批量生成多个容器实例,并开放服务器容器实例对应端口;
C、学生使用浏览器登录服务器开放端口的桌面系统,实验过程中两人一组,学生甲容器1作为攻击者,学生乙容器2作为受害者,容器1上scapy arp数据报文,通过网络发送给容器2,容器2开启wireshark嗅探并保存数据报文,查看到容器2的arp缓存已经被替换为攻击者设定的数据报文;
D、核心交换机开启sflow流协议,指定ip将sflow流发送到教师端,教师端使用sflow-RT进行实时网络监控,实时监控可以设置采样频率来获得网络情况的统计数据;
E、系统后台使用influxDB做数据持久化,通过对容器使用端口的筛选和网络流时序统计,给出有实验数据支撑的成绩评定。
本发明能批量为每个学生生成个性化平台,以往的协议分析教学环境,硬件平台存在设备使用率低和维护工作量大,传统仿真平台实验配置复杂;本发明使用成熟的开源软件进行网络数据的捕获和模拟,对于传统的仿真平台大多使用专用软件,用于模拟其特定硬件,而使用基于linux环境的软件体系,该系统全部软件环境公开透明;此外,本发明使用网络协议监控,传统协议分析平台受限于当时的软、硬件条件,缺乏对教学过程记录和监控,基于sflow的监控可以实时监控实验情况并在课后统计实验结果。
综上所述,本发明能够在服务器为每位参与实验的学生生成具体实验课程所需要的网络协议环境,如网络中数据包发生环境,协议交互环境,以及数据包捕获环境,帮助学生更好的学习计算机网络基础知识。该系统也能为教师记录教学情况,供教师评价教学效果提供依据,协助教师更好的完成教学任务。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种基于docker的网络协议仿真教学系统,其特征在于:包括使用docker虚拟机构建的操作系统平台、使用scapy作为协议发生器,使用wireshark作为协议分析器的协议分析体系以及使用sflow记录的课程情况;其中,操作系统平台使用docker构建,包括docker服务器(1);所述docker服务器通过核心交换机(2)连接多个学生客户端(3)。
2.根据权利要求1所述的一种基于docker的网络协议仿真教学系统,其特征在于:所述docker服务器(1)采用华为RH2288H v3,该服务器使用两颗Intel Xeon E5-2650V4cpu,配置160GB内存;所述核心交换机(2)采用华为s5720-32c-hi-24s-ac;所述学生客户端(3)采用低配的云平台瘦客户端,所述学生客户端数量按课程需要配置。
3.实现权利要求1所述的一种基于docker的网络协议仿真教学系统的实现方法与流程,其特征在于:包括以下步骤:
A、实验人员在开课前按班级人数启动相应数量docker容器;
B、实验人员使用docker官方的docker-ubuntu-vnc-desktop桌面系统,安装协议分析体系所需要软件,使用docker run命令批量生成多个容器实例,并开放服务器容器实例对应端口;
C、学生使用浏览器登录服务器开放端口的桌面系统,实验过程中两人一组,学生甲容器1作为攻击者,学生乙容器2作为受害者,容器1上scapy arp数据报文,通过网络发送给容器2,容器2开启wireshark嗅探并保存数据报文,查看到容器2的arp缓存已经被替换为攻击者设定的数据报文;
D、核心交换机开启sflow流协议,指定ip将sflow流发送到教师端,教师端使用sflow-RT进行实时网络监控,实时监控可以设置采样频率来获得网络情况的统计数据;
E、系统后台使用influxDB做数据持久化,通过对容器使用端口的筛选和网络流时序统计,给出有实验数据支撑的成绩评定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512057.4A CN109523858A (zh) | 2018-12-11 | 2018-12-11 | 一种基于docker的网络协议仿真教学系统实现方法与流程 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512057.4A CN109523858A (zh) | 2018-12-11 | 2018-12-11 | 一种基于docker的网络协议仿真教学系统实现方法与流程 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109523858A true CN109523858A (zh) | 2019-03-26 |
Family
ID=65796400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811512057.4A Pending CN109523858A (zh) | 2018-12-11 | 2018-12-11 | 一种基于docker的网络协议仿真教学系统实现方法与流程 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109523858A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470483A (zh) * | 2021-06-01 | 2021-10-01 | 长江大学 | 基于Docker和Asterisk的软交换实验平台和实验方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034509A (zh) * | 2007-04-20 | 2007-09-12 | 吉林中软吉大信息技术有限公司 | IPv6网络协议仿真教学实验装置 |
US20100268834A1 (en) * | 2009-04-17 | 2010-10-21 | Empirix Inc. | Method For Embedding Meta-Commands in Normal Network Packets |
CN105262771A (zh) * | 2015-11-04 | 2016-01-20 | 国家电网公司 | 一种电力行业网络安全攻防实验方法 |
CN106888209A (zh) * | 2017-03-02 | 2017-06-23 | 中国科学院信息工程研究所 | 一种基于协议状态图深度遍历的工控漏洞挖掘方法 |
CN107172651A (zh) * | 2017-05-23 | 2017-09-15 | 北京邮电大学 | 一种用于移动互联网协议的测试平台及测试方法 |
-
2018
- 2018-12-11 CN CN201811512057.4A patent/CN109523858A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034509A (zh) * | 2007-04-20 | 2007-09-12 | 吉林中软吉大信息技术有限公司 | IPv6网络协议仿真教学实验装置 |
US20100268834A1 (en) * | 2009-04-17 | 2010-10-21 | Empirix Inc. | Method For Embedding Meta-Commands in Normal Network Packets |
CN105262771A (zh) * | 2015-11-04 | 2016-01-20 | 国家电网公司 | 一种电力行业网络安全攻防实验方法 |
CN106888209A (zh) * | 2017-03-02 | 2017-06-23 | 中国科学院信息工程研究所 | 一种基于协议状态图深度遍历的工控漏洞挖掘方法 |
CN107172651A (zh) * | 2017-05-23 | 2017-09-15 | 北京邮电大学 | 一种用于移动互联网协议的测试平台及测试方法 |
Non-Patent Citations (3)
Title |
---|
李树军: "IPv6实验教学方案设计与实践", 《实验室科学》 * |
王宇: "网络流量分析技术及其应用", 《科技创业月刊》 * |
莘建浦: "基于Docker容器的网络安全实训平台的研究与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470483A (zh) * | 2021-06-01 | 2021-10-01 | 长江大学 | 基于Docker和Asterisk的软交换实验平台和实验方法 |
CN113470483B (zh) * | 2021-06-01 | 2023-02-17 | 长江大学 | 基于Docker和Asterisk的软交换实验平台和实验方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN205453957U (zh) | 一种远程网络实验室系统 | |
Zhang et al. | Teaching innovation in computer network course for undergraduate students with packet tracer | |
CN103218257A (zh) | 基于攻防教学实训平台上统一管理虚拟机的装置 | |
CN106452850A (zh) | 一种sdn控制器性能测试方法及系统 | |
Andria et al. | Remote didactic laboratory “g. savastano,” the italian experience for e-learning at the technical universities in the field of electrical and electronic measurement: Architecture and optimization of the communication performance based on thin client technology | |
CN103067225A (zh) | 一种测试系统 | |
CN115914042A (zh) | 用于使用机器学习进行网络流量生成的方法、系统和计算机可读介质 | |
CN109523858A (zh) | 一种基于docker的网络协议仿真教学系统实现方法与流程 | |
Rursch et al. | When a testbed does more than testing: The Internet-Scale Event Attack and Generation Environment (ISEAGE)-providing learning and synthesizing experiences for cyber security students | |
CN205901800U (zh) | 一种环境监控虚拟机 | |
Li et al. | A domain-specific language for simulation-based testing of IoT edge-to-cloud solutions | |
CN110517090A (zh) | 基于广告门的监控装置及方法 | |
Liu | Applying simulators in computer networks education to encourage personalised learning | |
Maheswaran et al. | GINI: a user-level toolkit for creating micro internets for teaching & learning computer networking | |
Raj et al. | Load analysis in SDN for distributed topologies | |
Raychev et al. | Development and Integration of Educational Software Defined Networking Platform in Computer Networking Classes | |
Crichigno et al. | Training and teaching students and IT professionals on high-throughput networking and cybersecurity using a private cloud | |
Kadhem et al. | 3D Remote Laboratory Design Based on Interactive Mobile Learning | |
Nogueira et al. | Teaching networking: A hands-on approach that relies on emulation-based projects | |
Hashem et al. | Low-Cost Cloud SCADA System Proposed for Education Purposes | |
Wang et al. | Application of virtual simulation experiments for undergraduate networking teaching | |
Raza et al. | Towards the use of containerization technology to educate the cybersecurity engineers of tomorrow | |
Ouyang et al. | Practice on Improving the “Computer Network” Teaching with Knowledge Visualization Representation | |
Hammoshi et al. | Using OPNET to teach students computer networking subject | |
Reißmann et al. | Using VIRL to improve the scale-out of large virtual network testbeds in higher education |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |
|
RJ01 | Rejection of invention patent application after publication |