• 2019-2020-2 20175113完瑞 基于Windows的信息安全专业导论学习容器的构建 个人报告


    北京电子科技学院

    《信息安全工程技术应用》课程设计报告

    基于Windows的信息安全专业导论学习容器的构建

                                                                                         小组成员姓名:20175104李屹哲

                                                                                                                  20175113   

                                                                                                                  20175133于沛辰

                                                                                         指导教师:娄嘉鹏

    一、 详细设计思路

    1、 安装Windows10 pro虚拟机

    1) 下载镜像文件,配置Windows10 pro环境

      • 下载镜像文件: thunder://QUFodHRwOi8veHozLmRhb2hhbmc0LmNvbS9jbl93aW5kb3dzXzEwX2NvbnN1bWVyX2VkaXRpb25zX3ZlcnNpb25fMTkwOV94NjRfZHZkXzc2MzY1YmY4Lmlzb1pa
      • 新建一个虚拟机,打开下载的镜像文件

    2) 安装Vm-tools,开启共享文件夹

      • 安装完成后安装 vm tools(正常会自动安装)
      • 虚拟机→选项→共享文件夹,启用共享文件夹,共享文件夹可在win10 网络下找到

    3) 开启Hyper-v服务

      • 在Windows10 pro上打开 Hyper-v 功能:控制面板→程序→程序和功能→启用或关闭windows功能,勾选 Hyper-v 功能
      • 如果 Hyper-v 功能呈灰色,无法勾选,可以参考这篇博客来配置虚拟机配置文件

    2、 安装docker

    1)  从官网下载Docker Desktop

      • 下载 Docker Desktop(可在虚拟机打开浏览器直接下载,也可在主机中下载,共享文件夹导入,个人建议后者)

    2)  安装并测试docker

      • 运行 docker version:确认你有一个支持的docker版本
      • 运行 docker run hello-world:从docker hub上获取hello-world镜像并运行一个容器
        • 如果提示无法匹配镜像,将设置中 Docker Engine中“experimental:false”改为“experimental:true”,之后就可以匹配镜像了
      • 运行 docker image ls:列出全部的镜像
      • 运行 docker container ls --all :列出全部的容器
      • 以上就是docker从docker hub下载镜像、构建容器的一些指令,具体更多操作参考官方指导

    3、 建立图形化的ubuntu容器&配置python环境

    1)  下载和运行图形化的ubuntu容器: docker run -p 6080:80 -p 5900:5900 dorowu/ubuntu-desktop-lxde-vnc:xenial 

    2)  下载安装TightVNC

    3)  使用 TightVNC Viewer 远程连接容器端口建立容器图形化界面

      • 如果报错,关闭右下角 TightVNC 服务,再用管理员身份启动 TightVNC Viewer

    4)  更新源,配置python3.6、python3-pip

      • 更新下载源:
        • 在 /etc/apt/sources.list 文件中加入163源
        • deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
          deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
          deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
          deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
          deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
          deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
          deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
          deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
          deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
          deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
      • 更新软件列表: apt-get update 
      • 安装python环境: apt install python3.6 、 apt install python3-pip 

    5)  调试python环境

      • 新建一个python文件: touch helloworld.py 
      • 用leafpad编辑 helloworld.py : leafpad helloworld.py 
      • 在文本内输入: print('hello world!') 
      • 运行 helloworld.py : python helloworld.py 
      • 运行成功,打印了 hello world! 

      • 再用leafpad编辑helloworld.py: leafpad helloworld.py 
      • 换一段测试代码,程序功能:暂停一秒输出,并格式化当前时间
      • 运行成功,证明python环境可用

    4、 配置vscode环境

    1)  配置Vscode

    2)  Vscode中安装Python拓展包

      • 在扩展商店搜索 language packs 并下载中文汉化包
      • 在扩展商店搜索 python 并下载python扩展包

    3)  调试Python代码

      • 打开之前的 helloworld.py 运行并调试

    5、 安装并测试pep/9环境

    1)  下载安装Pep9

      • 进入Pep/9官网,选择Pep/9 Windows版下载,下载完成后按默认选项安装即可正常打开使用

    2)  Pep9内调试汇编代码

      • 打印:Hi
        • 在 Source Code 区输入汇编指令,Build→Run Source(快捷键:Ctrl+R)
        • LDBA 0x0048,i    ;Load 'H' into accmulate
          STBA 0xFC16,d    ;Store accmulator to output device
          LDBA 0x0069,i    ;Load 'i' into accmulate
          STBA 0xFC16,d    ;Store accmulator to output device
          .END ;Stop
        • 可以在 Object Code 区观察到汇编指令对应的机器指令,这里做下解析:
        • D0 00 48   //把 H 放入累加寄存器
          F1 FC 16   //打印累加寄存器中存储的字节
          DO 00 69   //把 i 放入累加寄存器
          F1 FC 16   //打印累加寄存器中存储的字节
          00         //停止
          zz         //结束标识符

      • 两个字符的倒序输出:
        • 在Object Code区输入汇编指令,Build→Run Object
        • D1 FC 15  //将输入设备中的第一个字符读入累加器
          F1 00 13  //将字符从累加器存储到内存中
          D1 FC 15  //将第二个字符从输入设备读入累加器
          F1 FC 16  //将第二个字符打印到输出设备
          D1 00 13  //从内存中加载第一个字符
          F1 FC 16  //打印第一个字符到输出设备
          00        //停止
          zz        //结束标识符

    6、 拓展内容-配置anaconda环境

    1)  配置anaconda

      • Anaconda可以从官网下载,选择Linux环境安装包下载(建议选择Python3.7版本,因为Python3正在逐渐替代Python2;这里我选用Python3版本,但其实,版本的选择在anaconda中并不是一个问题,因为通过环境管理,我们可以很方便地切换运行时的Python版本)
      • 安装Anaconda: bash Anaconda3-2020.02-Linux-x86_64.sh
      • 安装过程中会要求阅读相关协议,最后输入 yes确认开始安装,安装会选择创建一个目录,选择完毕后回车进行安装
      • 安装完成后关闭当前终端

    2)  构建Pyhton环境

      • 再开终端可以构建新的Python环境: conda create --name python36 python3.6

      • 这里给出查看和切换环境的相关指令,更多细节可以参考官方指导或者这篇帮助
      • conda -h      //查看帮助
        conda create --name python36 python=3.6 //基于python3.6版本创建一个名字为python36的环境
        conda activate python36                 //激活python3.6环境
        source activate python36
        //激活python36环境 conda list //查看环境下的包 deactivate python36 //退出当前python3.6环境 conda remove -n python36 --all //删除环境python36 conda env remove -n python36 //删除环境python36 conda info -e //查看所有安装的环境

    3)  调试Python代码

      • 在激活python36环境后,可以观察到命令行前多了 (python36),输入 python可进入该环境下编写代码
      • 但在anaconda的python环境缺少一些库,没有这些库,编译代码就会报错:SyntaxError:invalid syntax
      • 这里我们先安装numpy、matplotlib这两个库: conda install numpy、conda install matplotli
      • 然后编译并执行代码(这段代码像是在写matlab)
      • from numpy import *
        from matplotlib.pyplot import *
        x = arange(0,361)
        y = sin(x*pi/180)
        plot(x,y)
        xlim(0,360)
        ylim(-1.2,1.2)
        title('SIN Function')
        show()

    7、 容器打包并上传

    1)  注册个人账号,创建个人仓库

      • 打开docker hub官网,注册用户
      • 注册完成后,创建个人公开库

    2)  将容器打包成镜像

      • 打开命令提示符,根据容器创建镜像: docker commit (container ID)注册用户名/仓库名:tagname

    3)  上传个人镜像

      • 上传镜像: docker push 20175113wr/20175113wr:version2

    二、遇到的问题及解决

    1、  无法开启Hyper-v服务:

    • 在Vm配置文件中添加:
    • hypervisor.cpuid.v0 = "FALSE"
      mce.enable = "TRUE"
      vhv.enable = "TRUE"
    • 重启虚拟机,再开启Hyper-v服务

    2、  无法匹配镜像:

    • 将docker设置中 Docker Engine“experimental:false”改为“experimental:true”

    3、  图形化界面:

    • 安装TightVNC,通过 TightViewer 连接容器端口构建图形化界面

    4、  Pep9无法在容器环境上安装:

    • 指导老师建议我们在主机环境下安装测试Pep9环境

    三、体会与收获

    在这三周的课设过程中,我们使用了docker容器技术,在之前课程学习中曾多次使用虚拟机技术,相较于虚拟机,docker容器更加高效、方便,更适合开发环境和学习。

    在这次课设中,我们遇到了各种各样的问题,在相互交流分享中,完成了这次课设,对自己学习、实践能力是一次全新的考验,也收获了课程成果。

    四、参考文献和网址

    《Docker技术入门与实战 第3版》

    《Computer.Science.Illuminated.7th》

    https://docs.docker.com/docker-for-windows/?utm_source=docker4win_2.2.0.5&utm_medium=docs&utm_campaign=referral

    https://zhuanlan.zhihu.com/p/50864774

    https://blog.csdn.net/xq929609968/article/details/97231817?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9

    https://blog.csdn.net/hbxtlhx/article/details/40395207?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-11&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-11

    https://www.runoob.com/docker/docker-container-usage.html

    https://www.zhihu.com/question/58033789

    五、课设过程博客

    第一周博客:配置Docker

    第二周博客:部署容器和环境

    第三周博客:环境拓展

    六、安装信息安全专业导论学习容器指南

    1. 确认主机是否可以开启Hyper-v服务
      • 如果不能开启,建议安装使用上述Windows10 pro虚拟机
    2. 配置 Docker Desktop
    3. 配置 TightVNC
    4. 运行信息安全专业导论学习容器: docker run -p 6080:80 -p 5900:5900 20175113wr/20175113wr:version2 
  • 相关阅读:
    【转】 Linux Core Dump 介绍
    【转】 设定linux 系统可用资源
    Python for 循环 失效
    transition 平移属性实现 横向整屏 滚动
    vue 插槽的使用
    vue pc商城仿网易严选商品的分类效果
    干货-vue 中使用 rxjs 进行非父子组件中传值
    vue 2.0 脚手架项目中使用 cross-env 分环境打包
    什么是闭包,有哪些优缺点呢?
    滚动视差
  • 原文地址:https://www.cnblogs.com/besti5113/p/12817138.html
Copyright © 2020-2023  润新知