福安中国 武汉加油!
前言
这个作业属于哪个课程 | 《网络攻防实践》 |
这个作业的要求在哪里 | 《网络攻防实践》假期作业 |
我在这个课程的目标是 | 掌握网络攻防的相关知识并且能够进行独立实践操作 |
这个作业在哪个具体方面帮助我实现目标 | 学习markdown的基本语法;学习基于macOS Catalina系统安装VirtualBox虚拟机;在虚拟机中安装镜像Ubuntu系统;学习linux命令语言 |
作业正文.... | 见下文 作业一 作业二 |
其他参考文献 | [1]. Markdown入门参考 [2]. Mac系统安装Virtualbox虚拟机软件教程 [3]. Mac系统使用VirtualBox安装Ubuntu教程 [4]. 别出心裁的Linux命令学习法 [5]. Linux 基础入门(新版) |
作业一
(1)你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?
-
我本科专业学的是通信工程,之前学习过《计算机网络教程》这门课程,假期里也重新翻看了一下。关于网络攻击和防御之前了解过:
网络扫描 ①主机发现 ②端口扫描 ③操作系统检测 ④漏洞扫描 网络监听 ①分组嗅探器 ②交换机毒化攻击 ③ARP欺骗 ④网络监听的防范 拒绝服务攻击 ①基于漏洞的DOS攻击 ②基于资源消耗的DOS攻击 ③分布式DOS攻击 ④DOS攻击的防范
(2)作业要使用Markdown格式,Markdown入门参考(需掌握)
- 已掌握Markdown格式的基本语法。
作业二
(1)学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)
-
之前未在自己计算机上安装过VirtualBox这款虚拟机,所以这次可以说是从零开始,看攻略一点一点的来。我电脑是MacOS系统,所以在找合适自己系统的资源这方面会比Windows系统稍微麻烦些,不过万能的百度解决了我的这些问题。下面我给大家详细介绍一下我的安装过程和遇到的一些问题及解决办法。
如果也同样是MacOS系统的同学,我探索的这个针对MacOS系统的安装教程绝对Nice!奥利给!
给你推荐这个我使用的的虚拟机下载地址 [VirtualBox for Mac(虚拟机软件) v6.0.10 简体中文版](https://www.xp510.com/mac/30839.html)第一步:下载VirtualBox虚拟机
这个我觉得不错的适合小白的安装教程 [Mac系统安装Virtualbox虚拟机软件教程](https://jingyan.baidu.com/article/ab0b563066238bc15afa7dd3.html)第二步:安装VirtualBox虚拟机
我使用的的镜像文件下载地址 [Ubuntu系统 V11.04 镜像 官方中文版](http://www.downxia.com/downinfo/238836.html)第三步:下载Ubuntu镜像文件
给你推荐这个我觉得不错的适合小白的安装教程 [MacOS系统基于VirtualBox安装Ubuntu教程](https://jingyan.baidu.com/article/295430f1c47e9e0c7e00502f.html)第四步:基于VirtualBox虚拟机安装Ubuntu系统 第五步:测试VirtualBox虚拟机及Ubuntu系统
在安装虚拟机及测试Ubuntu系统时我遇到的问题:由于该死的好奇心我在安装好虚拟机后又顺便更新了一下我的电脑系统(整天提示我,急眼了),从之前的macOS mojave升级到了macOS Catalina系统,导致电脑上许多第三方软件也无法打开,也使已经安装好的VirualBox虚拟机在打开任意镜像系统时总是闪退。
我自己摸索出来的解决办法:打开系统偏好设置→安全与隐私→完全磁盘访问权限→移除VirualBox |
(2)通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法
-
Linux为我们提供大管家和服务生功能
<font face="黑体"size=2 >详情见于(别出心裁的Linux命令学习法 )
①大管家:通过进程、虚拟内存和文件三个重要抽象管理计算机的CPU、内存、I/O设备。
②服务生:为用户提供shell,为程序员提供系统调用。 -
学习并且掌握了Ubuntu的几个常用快捷键
给大家推荐其他常用的快捷键Linux常用的28个快捷键 -
学习了ls命令、man命令、cheat命令及安装方法、其他核心命令
-
了解了关于Linux命令的学习方法
-
关于学习Linux命令,博客中作者推荐的Linux命令大全是个很好参考,集合了man和cheat的功能,查阅起来很方便。另外,我还发现了一个学习Linux命令的一个很不错的网站Linux 常用命令学习,推荐给大家。
(3)参考上面的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节
实验3 用户及文件权限管理:
-
创建用户:
sudo adduser xxx
-
更改用户:
su -l xxx
-
退出当前用户:
Ctrl+d
-
删除用户:
sudo deluser xxx --remove-home
-
查看用户组 :
groups xxx
cat /etc/group | grep -E”xxx”
//结果显示:Group_name:password:GID:user_list
-
添加新用户进组获取root权限:
sudo usermod -G- sudo xxx
//需要在管理员账户操作下进行 -
变更文件所有者:
- 用户一
touch ***
//创建文件 - 用户二
sudo chown xxx
// 更改文件***的所有者为用户二
- 用户一
-
修改文件权限:
-
g、o 还有u分别表示group、others和user,+和-分别表示增加和去掉相应的权限。
实验4 Linux 目录结构及文件基本操作:
-
新建空白文件:
touch xxx
-
新建目录:
mkdir xxx
-
新建多级目录:
mkdir -p father/son/grandson
-
复制文件到该目录:
cp xxx father/son/grandson
-
复制目录到该目录:
cp -r xxx family
-
删除文件:
rm xxx
-
直接删除文件:
rm -f xxx
-
删除目录:
rm -r xxx
-
移动(剪切)文件:
mv xxx(文件)xxx(目的目录)
-
重命名文件:
mv xxx(旧文件名)xxx(新文件名)
-
批量重命名:
rename 'y/a-z/A-Z/' *.c
//批量改文件名和后缀为大写 -
查看文件:
cat xxx
-
查看文件并显示行号:
cat -n xxx
-
阅读文件:
more xxxx
-
查看文件类型:
file /bin/ls
实验5 环境变量与文件查找:
-
创建变量:
declare tmp
-
等号赋值运算:
tmp=cjy
//将变量tmp赋值为cjy -
读取某个变量的值:
echo $xxx
-
查看环境变量内容:
echo $xxx
-
添加自定义路径:
PATH=$PATH:/地址/地址/地址
-
添加内容到.zshrc中:
echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
-
修改变量:
变量设置方式 说明 ${变量名#匹配字串}
从头向后开始匹配,删除符合匹配字串的最短数据 ${变量名##匹配字串}
从头向后开始匹配,删除符合匹配字串的最长数据 ${变量名%匹配字串}
从尾向前开始匹配,删除符合匹配字串的最短数据 ${变量名%%匹配字串}
从尾向前开始匹配,删除符合匹配字串的最长数据 ${变量名/旧的字串/新的字串}
将符合旧字串的第一个字串替换为新的字串 ${变量名//旧的字串/新的字串}
将符合旧字串的全部字串替换为新的字串 -
变量删除:
unset xxx
-
使环境变量立即生效:
source .xxx
-
简单快速搜索文件:
whereis who
whereis find
-
快速全面查找文件:
locate /usr/share/\*.jpg
//查找 /usr/share/ 下所有 jpg 文件 -
小而精查找文件:
which xxx
-
精而细查找文件:
sudo find /etc/ -name interfaces
//这条命令表示去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录 -
与时间相关的命令参数:
参数 说明 -atime
最后访问时间 -ctime
最后修改文件内容的时间 -mtime
最后修改文件属性的时间 下面以
-mtime
参数举例:-mtime n
:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件-mtime +n
:列出在 n 天之前(不包含 n 天本身)被修改过的文件-mtime -n
:列出在 n 天之内(包含 n 天本身)被修改过的文件-newer file
:file 为一个已存在的文件,列出比 file 还要新的文件名
-
番外篇:
cmatrix -C color
//改变代码颜色
实验6 文件打包与解压缩:
-
使用 zip 打包文件夹:
zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
//第一行命令中,-r
参数表示递归打包包含子目录的全部内容,-q
参数表示为安静模式,即不向屏幕输出信息,-o
,表示输出文件,需在其后紧跟打包输出文件名。 -
设置压缩级别为 9 和 1(9 最大,1 最小),重新打包:
-
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip
-
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip
-
-
查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小:
du -h -d 0 *.zip ~ | sort
-
将
cjy.zip
解压到当前目录:unzip cjy.zip
-
使用安静模式,将文件解压到指定目录:
unzip -q shiyanlou.zip -d ziptest
-
查看压缩包的内容:
unzip -l cjy.zip
-
创建一个 tar 包:
tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop
//-P
保留绝对路径符,-c
表示创建一个 tar 包文件,-f
用于指定创建的文件名,注意文件名必须紧跟在-f
参数之后 -
解包一个文件(
-x
参数)到指定的已存在目录(-c参数):-
mkdir tardir
-
tar -xf shiyanlou.tar -C tardir
-
-
只查看不解包文件(
-t
参数):tar -tf shiyanlou.tar
-
备份文件:
tar -cphf etc.tar /etc
//使用 tar 备份文件当你在其他主机还原时希望保留文件的属性(-p
参数)和备份链接指向的源文件而不是链接本身(-h
参数) -
解压
*.tar.gz
文件:tar -xzf shiyanlou.tar.gz
-
现在我们要使用其它的压缩工具创建或解压相应文件只需要更改一个参数即可:
压缩文件格式 参数 *.tar.gz
-z
*.tar.xz
-J
*tar.bz2
-j
实验7 文件系统操作与磁盘管理:
-
查看磁盘容量:
df
-
查看目录容量:
du
-
du -d
//查看目录的深度 -
du -h
// 以K,M,G为单位,提高信息的可读性 -
du -a
//l 显示目录中所有文件的大小 -
du -s
//仅显示总计,只列出最后加总的值
-
实验8 Linux下的帮助命令:
- 了解了help , man , info命令的使用以及区别
万众一心,抗击疫情。武汉加油,中国加油!