《网络攻防实践》假期作业
作业所属课程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
---|---|
作业要求 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228 |
课程目标 | 熟练掌握网络攻防知识 |
这个作业在哪个具体方面帮助我实现目标 | 安装Linux操作系统;学习Linux操作命令;学习网络攻防知识并做相关实验 |
作业正文 | 见下方作业一,作业二 |
其它参考文献 |
作业一
- 你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?
答:我对网络攻击和防御了解不多;本科专业是软件工程;本科期间学习过《计算机网络》;掌握计算机网络体系结构。 - 作业要使用Markdown格式,Markdown入门参考(已掌握)
作业二
-
学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)
答:在上学期的《Linux内核原理与分析》已经按装过Linux操作系统,具体如下:
-
通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法
答:在上学期《Linux内核原理与分析》课程中已经学习过。 -
参考上面的学习方法通过实践学习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源文件。