20199318 《网络攻防实践》假期作业

《网络攻防实践》假期作业

作业所属课程 https://edu.cnblogs.com/campus/besti/19attackdefense
作业要求 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228
课程目标 熟练掌握网络攻防知识
这个作业在哪个具体方面帮助我实现目标 安装Linux操作系统;学习Linux操作命令;学习网络攻防知识并做相关实验
作业正文 见下方作业一,作业二
其它参考文献

作业一

  1. 你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?
    答:我对网络攻击和防御了解不多;本科专业是软件工程;本科期间学习过《计算机网络》;掌握计算机网络体系结构。
  2. 作业要使用Markdown格式,Markdown入门参考(已掌握)

作业二

  1. 学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)
    答:在上学期的《Linux内核原理与分析》已经按装过Linux操作系统,具体如下:

  2. 通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法
    答:在上学期《Linux内核原理与分析》课程中已经学习过。

  3. 参考上面的学习方法通过实践学习Linux基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节。
    答:在上学期《Linux内核原理与分析》课程中已经学习过。


Linux基础知识总结:

  • touch:创建空白文件
    实例一:创建不存在的文件。如使用touch test1命令,创建一个名为“test1”的文件;
    实例二:更新时间戳。如使用touch -r test1 test2命令,即把test2的时间戳改为与test1相同;
    实例三:设定文件的时间戳。如使用touch -t 202002140930.20 test命令,可以更改时间戳。
  • mkdir:新建目录(mkdir -p father/son/grandson:同时创建多级目录。)
  • cp <文件名> <路径信息>:将文件复制到制定目录下。
  • cp -r <目录一> <目录二>:将目录一移入目录二下(也可使用-R参数)。
  • rm <文件名>:删除文件(如果文件有权限等,可以使用rm -f <文件名>强制删除)。
  • rm -r <目录名>:删除目录(同样可以使用-R参数)。
  • mv <源目录文件> <目的目录>:移动文件至指定目录下。
  • mv <旧的文件名> <新的文件名>:重命名。
  • cat/tac:打印文件内容到标准输出(终端),其中cat为正序显示,tac为倒序显示。(加上参数-n显示行号)。
  • nl:添加行号并打印,这是个比cat -n更专业的行号打印命令。
  • tail -n <行数n> <路径信息>:打印前n行。
  • file <文件名>:查看文件信息,如类型。
  • vi <文件名>:编辑文件,如果没有该文件,则先创建再编辑。
  • tree:查看(当前目录下)的目录结构。如果想查看根目录下的目录结构,则用tree /命令。
  • cd:切换目录(Linux下,.表示当前目录,..表示上级目录,-表示上次所在目录,~表示当前用户的home目录)。
  • pwd:查看当前路径信息(绝对路径)
  • 计算机的三大法宝:存储程序计算、函数调用机制、中断。
  • 堆栈的具体作用有:记录函数调用框架、传递函数参数、保存返回值的地址、提供函数内部局部变量的存储空间等。
  • 堆栈相关的寄存器:
    ESP:堆栈指针(stack pointer)
    EBP:基址指针(base pointer),在C语言中用作记录当前函数调用基址。
  • 堆栈操作:
    push:栈顶地址减少4个字节(32位),并将操作数放入栈顶存储单元。
    pop:栈顶地址增加4个字节(32位),并将栈顶存储单元的内容放入操作数。
  • 其它一些指令:
    顺序执行:总是指向地址连续的下一条指令。
    跳转/分支:执行这样的指令时,CS:EIP的值会根据程序需要被修改。
    call:将当前CS:EIP 的值压入栈顶,CS:EIP指向被调用函数的入口地址。
    ret:从栈顶弹出原来保存在这样的CS:EIP的值,放入CS:EIP中。
  • 操作系统的“两把宝剑”:中断上下文、进程上下文。
  • Linux内核源码的关键目录:
    arch:arch目录中的代码可以使Linux内核支持不同的CPU和体系结构。
    block:存放Linux存储体系中关于块设备管理的代码。
    crypto:存放常见的加密算法的C语言代码,譬如crc32、md5、sha1等。
    Documentation:存放一些文档。
    drivers:驱动目录,里面分门类地存放了Linux支持内核的所有硬件设备的驱动源代码。
    firmware:固件
    fs:文件系统,里面列出了Linux支持的各种文件系统的实现。
    include:头文件目录,存放公共的(各种CPU体系结构公用的)头文件。比如ARM架构特有的一些头文件在arch/arm/include目录及其子目录下。
    init:init是初始化的意思,存放Linux内核启动时的初始化代码。
    其中一个关键目录是init目录,内核启动相关的代码都在这个目录下。在init目录下有main.c源文件。
posted @ 2020-02-11 18:27  孙茂林  阅读(154)  评论(0编辑  收藏  举报