zoukankan      html  css  js  c++  java
  • 20199135网络攻防与实践作业

    20199135网络攻防与实践作业

    **Markdown

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

    问题 回答
    作业所属课程 网络攻防实践(https://edu.cnblogs.com/campus/besti/19attackdefense)
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228
    我在这个课程的目标是 学习用Markdown格式写博客,学习安装Linux操作系统,学习编程
    这个作业在哪个具体方面帮助我实现目标 了解了Markdown格式,了解了Linux操作系统
    作业正文 见作业一、作业二
    参考文献 https://www.shiyanlou.com/courses/1/learning/?id=1918

    作业一

    (1)你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?

    本科期间所学专业为电子信息科学与技术专业,大学期间学习过C语言,计算机网络(选修),对于网络方面的知识了解较少,作为一个网络小白(菜鸟),网络攻击与防御知识可以说是零基础,但是我愿意更加努力的去学习这些新知识


    (2)作业要使用Markdown格式,Markdown入门参考(需掌握)

    学习用Markdown格式写博客,本篇正是采用Markdown格式所写的第一篇博客。


    作业二

    (1)学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)

    本人选择基于VWMare虚拟机安装Ubuntu,安装方法参考自微信公众号——软件安装管家


    (2)通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法

    重要快捷键以及Shell 常用通配符:

    *:匹配 0 或多个字符
    ?:匹配任意一个字符
    [list]:匹配 list 中的任意单一字符
    [^list]:匹配 除list 中的任意单一字符以外的字符
    [c1-c2]:匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
    {string1,string2,...}:匹配 string1 或 string2 (或更多)其一字符串
    {c1..c2}:匹配 c1-c2 中全部字符 如{1..10}
    [Ctrl]+[Alt]+[F7]:实验楼的环境下,切换到其中一个终端后想要切换回图形界面使用
    [Tab]:使用Tab键来进行命令补全
    [Ctrl+c]:强行终止当前程序。
    Ctrl+d:键盘输入结束或退出终端
    Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行
    Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fg
    Ctrl+a:将光标移至输入行头,相当于Home键
    Ctrl+e:将光标移至输入行末,相当于End键
    Ctrl+k:删除从光标所在位置到行末
    Alt+Backspace:向前删除一个单词
    Shift+PgUp:将终端显示向上滚动
    Shift+PgDn:将终端显示向下滚动


    (3)参考上面的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节

    实验二

    1.学习使用 touch 命令创建文件

    2.学习man 命令

    $ man <command_name>:执行man命令调用手册页,获得某个命令的说明和使用方式的详细介绍:
    man man:查看 man 命令本身的使用方式
    $ man 1 ls:查看相应区段的内容
    可以在 man 中使用搜索/<你要搜索的关键字>
    查找完毕后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。
    使用Space(空格键)翻页,Enter(回车键)向下滚动一行。
    使用k,j(vim 编辑器的移动键)进行向前向后滚动一行。
    按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助)。
    按下q退出。显示第一区段中的ls命令 man 页面。

    3作业 这一节介绍一个可以输出图形字符的命令banner



    实验三

    1.学习who命令查看用户


    who 命令其它常用参数
    -a 打印能打印的全部
    -d 打印死掉的进程
    -m 同am i,mom likes
    -q 打印当前登录用户数及用户名
    -u 打印当前登录用户登录信息
    -r 打印运行等级

    2.学习su,su- 与 sudo


    shiyanlou 用户密码可以通过 sudo passwd shiyanlou 命令进行设置
    退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d。

    3.学习 groups 命令

    $ groups shiyanlou

    冒号之前表示用户,后面表示该用户所属的用户组

    4.学习 /etc/group 文件

    $ cat /etc/group | sort
     cat 命令用于读取指定文件的内容并打印到终端输出
     | sort 表示将读取的文本进行一个字典排序再输出

    5.学习文件类型

    $ ls -A
    $ ls -Al可以同时使用 -A 和 -l 参数:
    $ ls -dl <目录名>查看某一个目录的完整属性,而不是显示目录里面的文件属性:
    $ ls -AsSh显示所有文件大小,并以普通人类能看懂的方式呈现:
    其中小 s 为显示文件大小,大 S 为按文件大小排序
    $ chmod 600 iphone6修改权限

    6.作业

    添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。

    步骤:

    1. sudo adduser loutest
      2.加入sudo组;sudo usermod sudo -G sudo loutest
      3.使用sudo创建文件: sudo touch /opt/forloutest
      4.设置成用户loutest可以读写: sudo chmod 600  /opt/forloutest
      5.结果:查看:ll /opt/forloutest


    实验四

    1.目录路径

    使用 cd 命令可以切换目录
    ~ 通常表示当前用户的 home 目录,- 表示上一次所在目录
    使用 pwd 命令可以获取当前所在路径(绝对路径);
    $ cd ..进入上一级目录;
    $ cd ~ # 或者 cd /home/<你的用户名> 进入你的 home 目录;
    $ pwd使用 pwd 获取当前路径。

    2.新建


    创建名为 test 的空白文件,因为在其它目录没有权限,所以需要先 cd ~ 切换回用户的/home/shiyanlou 目录:再使用 touch 命令创建空白文件。

    $ mkdir mydir使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。创建名为“ mydir ”的空目录:$ mkdir -p father/son/grandson

    3.复制

    $ cp test father/son/grandson 使用 cp(copy)命令复制一个文件到指定目录。将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中。

    $ cd /home/shiyanlou$ mkdir family$ cp -r father family 如果直接使用 cp 命令复制一个目录的话,会出现错误,要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制,

    4.删除

    $ rm test使用 rm(remove files or directories)命令删除一个文件;
    $ rm -f test使用 -f参数强制删除;
    $ rm -r family删除目录,也需要加上 -r或 -R 参数。

    5.移动文件与文件重命名

    mv 源目录文件 目的目录:$ mkdir Documents$ touch file1$ mv file1 Documents
    使用 mv(move or rename files)命令移动文件(剪切)。将文件“ file1 ”移动到 Documents 目录。
    mv 旧的文件名 新的文件名:$ mv file1 myfile将文件“ file1 ”重命名为“ myfile ”

    6.查看文件

    1.使用 cat,tac  命令查看文件用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。
    $ cd /home/shiyanlou$ cp /etc/passwd passwd$ cat passwd查看之前从 /etc 目录下拷贝来的 passwd文件
    $ cat -n passwd加上 -n 参数显示行号

    2.使用nl 命令查看文件,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。
    常用的几个参数:
    -b : 指定添加行号的方式,主要有两种:
    -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
    -b t:只列出非空行的编号并列出(默认为这种方式)
    -n : 设置行号的样式,主要有三种:
    -n ln:在行号字段最左端显示
    -n rn:在行号字段最右边显示,且不加 0
    -n rz:在行号字段最右边显示,且加 0
    -w : 行号字段占用的位数(默认为 6 位)

    3.使用 more 和 less 命令分页查看文件
    $ more passwd使用 more 命令打开 passwd 文件
    使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。

    4.使用 head 和 tail 命令查看文件
    $ tail /etc/passwd系统新增加一个用户,会将用户的信息添加到 passwd 文件的最后
    $ tail -n 1 /etc/passwd更直接的只看一行, 加上 -n 参数,后面紧跟行数

    7.查看文件类型

    $ file /bin/ls使用 file 命令查看文件的类型

    8.编辑文件

    $ vimtutor直接使用 Linux 内部的 vim 学习教程

    9.作业

    1. 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt

      2、Linux 的日志文件在哪个目录
      Linux的日志文件在/var/log中。

    实验五

    1.环境变量

    $ declare tmp使用 declare 命令创建一个变量名为 tmp 的变量
    $ tmp=shiyanlou使用 = 号赋值运算符,将变量 tmp 赋值为 shiyanlou:
    $ echo $tmp读取变量的值,使用 echo 命令和 $ 符号($ 符号用于表示引用一个变量的值,初学者经常忘记输入)
    注意:并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。

    2.命令的查找路径与顺序

    $ echo $PATH查看 PATH 环境变量的内容:
    $ cd /home/shiyanlou$ touch hello_shell.sh$ gedit hello_shell.sh创建一个 Shell 脚本文件
    $ chmod 755 hello_shell.sh为文件添加可执行权限
    执行脚本:
    $ cd /home/shiyanlou
    $ ./hello_shell.sh
    创建一个 C 语言“ hello world ”程序:
    $ cd /home/shiyanlou$ gedit hello_world.c

    #include <stdio.h>
    int main(void){
        printf("hello world!
    ");
        return 0;
    

    }

    $ gcc -o hello_world hello_world.c保存后使用 gcc 生成可执行文件:
    $ cd /home/shiyanlou$ mkdir mybin$ mv hello_shell.sh hello_world mybin/在 /home/shiyanlou 家目录创建一个 mybin 目录,并将上述 hello_shell.sh 和 hello_world 文件移动到其中

    3.修改和删除已有变量

    变量设置方式 说明
    ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
    ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
    ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
    ${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
    ${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
    ${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串
    $ unset temp使用 unset 命令删除一个环境变量

    4.如何让环境变量立即生效

    $ cd /home/shiyanlou$ source .zshrc使用 source 命令来让修改的配置脚本文件立即生效

    5.搜索文件

    $ whereis who$ whereis find
    $ sudo apt-get update
    $ sudo apt-get install locate
    $ locate /etc/sh查找 /etc 下所有以 sh 开头的文件:
    $ locate /usr/share/*.jpg查找 /usr/share/ 下所有 jpg 文件:
    $ which man只从 PATH 环境变量指定的路径中去搜索命令
    $ sudo find /etc/ -name interfacesfind 命令
    $ find ~ -mtime 0列出 home 目录中,当天(24 小时之内)有改动的文件:$ find ~ -newer /home/shiyanlou/Code列出用户家目录下比 Code 文件夹新的文件

    6.作业

    找出 /etc/ 目录下的所有以 .list 结尾的文件。


    实验6

    1.zip:

    o打包 :zip something.zip something (目录请加 -r 参数)
    o解包:unzip something.zip
    o指定路径:-d 参数

    2.tar:

    o打包:tar -cf something.tar something
    o解包:tar -xf something.tar
    o指定路径:-C 参数

    3.作业

    zip
    $ cd /home/shiyanlou$ touch test$ zip test.zip test
    使用 du 命令查看打包后文件的大小
    $ du -h test.zip
    将文件解压到指定目录
    $ unzip -q test.zip -d /home/shiyanlou

    tar
    $ cd /home/shiyanlou
    $ touch test
    $ tar -cf test.tar test
    $ du -h test.tar
    $ tar -xf test.tar -C /home/shiyanlou


    实验七

    1 查看磁盘和目录的容量

    $ df使用 df 命令查看磁盘的容量
    $ du 使用 du 命令查看目录的容量
    $ du -h -d 0 ~# 只查看1级目录的信息
    $ du -h -d 1 ~# 查看2级

    2.创建虚拟磁盘

    使用dd命令来完成创建虚拟磁盘的第一步。
    从/dev/zero设备创建一个容量为 256M 的空文件:
    $ dd if=/dev/zero of=virtual.img bs=1M count=256
    $ du -h virtual.img

    使用 mkfs 命令格式化磁盘在命令行输入 sudo mkfs 然后按下Tab键,你可以看到很多个以 mkfs 为前缀的命令,这些不同的后缀其实就是表示着不同的文件系统,可以用 mkfs 格式化成的文件系统。

    $ sudo mkfs.ext4 virtual.img将我们的虚拟磁盘镜像格式化为ext4文件系统:

    使用 mount 命令挂载磁盘到目录树$ sudo mount使用mount来查看下主机已经挂载的文件系统
    mount [options] [source] [directory]挂载真正的磁盘到目录树

    现在直接来挂载我们创建的虚拟磁盘镜像到/mnt目录:
    $ mount -o loop -t ext4 virtual.img /mnt # 也可以省略挂载类型,很多时候 mount 会自动识别

    以只读方式挂载
    $ mount -o loop --ro virtual.img /mnt# 或者mount -o loop,ro virtual.img /mnt

    使用 umount 命令卸载已挂载磁盘# 命令格式 sudo umount 已挂载设备名或者挂载点,如:$ sudo umount /mnt

    查看硬盘分区表信息$ sudo fdisk -l为磁盘分区

    $ sudo fdisk virtual.img# 进入磁盘分区模式

    3.作业

    小明在管理服务器的时候发现空间不足了,他找到了一个目录,这个目录占用的空间异常的大,他需要找到这个目录中占用最大的前10个文件,但是这个目录下面的内容太多了,或许一条命令就能够帮助到他,这条命令该怎么写呢?

    du -a | sort -n -r | head -n 10


    实验八

    1.help 命令

    help 命令是用于显示 shell 内建命令的简要帮助信息。
    ls --help显示 shell 外部命令

    2. man 命令

    man ls man 没有内建与外部命令的区分,因为 man 工具大多数都是对命令的解释信息,还有一些相关的描述。

    3. info 命令

    手动安装info,安装和操作步骤如下
    $ sudo apt-get update
    $ sudo apt-get install info# 查看 ls 命令的 info
    $ info ls得到的信息更多

  • 相关阅读:
    asp.net 2.0 国际化 动态切换语言
    SKU、UPC、EAN和ISBN
    NCalc:处理数学运算的好帮手
    yaf 论坛安装
    Afterlogic xmail 邮局软件不能收email 设置
    要围着中心来做事
    保证Winform程序只有一个实例在运行
    可视热敏读写卡开发
    jQuery CSS 效果
    代碼小片斷
  • 原文地址:https://www.cnblogs.com/Fu-ry/p/12295351.html
Copyright © 2011-2022 走看看