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


    作业说明

    这个作业属于哪个课程课程链接

    这个作业的要求在哪里作业要求链接

    我在该课程的目标是:安装虚拟机,掌握常用的Linux命令,学习网络攻防知识

    这个作业在哪个具体方面帮助我实现目标:动手操作能力,熟悉并掌握常用的Linux命令

    作业正文

    作业一

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

    上学期跟着李冬冬老师学习了《网络系统与安全》,对网络攻击技术和安全防护技术有一定的了解,使用过wireshark、nmap等工具进捕包分析、重放攻击、Dos攻击等实验。

    原专业是计算机科学与技术,目前掌握操作系统、数据结构、计算机网络等基础知识

    (2)作业要使用Markdown格式。

    已掌握。

    作业二

    在自己笔记本上安装Linux操作系统

    遇到的问题和解决方法

    • 在进行到安装Ubuntu系统软件时,原博客的链接“无法安全地连接到此页面”,在这里附上链接:官网Ubuntu桌面下载
    • 在安装基于VirtualBox虚拟机增强功能这一步骤时,打开终端,在 ls 命令下没有看到 media 目录,后来发现其在根目录下。

      之前一直没有留意过media目录,现将查阅到的知识点整理如下(后续在实验楼有详细学习):
      • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
      • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
      • cd 命令:切换当前目录至其它目录,比如进入/etc目录,则执行 cd /etc
      • cd / 命令:在Linux 系统中斜杠“/”表示的是根目录。 cd /,即进入根目录。
      • cd ~ 命令是,进入用户在该系统的home目录,例如xz用户,则进入/home/xz目录。
    • VirtualBox主机与虚拟机不能复制粘贴的解决办法:启动虚拟机,在设备中的“共享粘贴板”、“拖放”均设置为双向即可。

    别出心裁的Linux命令学习法

    上学期是首次接触Linux操作系统,有很多知识一知半解,对于很多命令还不是很明白。趁着假期,通过别出心裁的Linux命令学习法的认真阅读和在实验楼再次巩固学习Linux基本概念和操作,将知识点和遇到的问题总结如下:

    知识点

    • echo 输出到终端
    • Ctrl+c 键来强行终止当前程序
    • * 可以用来对字符串进行模糊匹配,匹配0或多个字符(比如文件名、参数名)
    • man <command_name> 来获得某个命令的说明和使用方式的详细介绍

    遇到的问题

    • 在安装cheat的时候,遇到了这样的问题

      在提示命令下发现能够看到安装在系统上的cheat版本了。

      但是执行不了 cheat find 等其他命令。。。。。

    实验楼学习,掌握常用的Linux命令

    实验三.用户及文件权限管理

    知识点总结

    • 查看用户who am i 或者 who mom likes
    • 创建用户sudo adduser 用户名
    • 切换用户
      • su <user> 可以切换到用户 user,执行时需要输入目标用户的密码;
      • su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量;
      • sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。
    • 用户组
      • 查看自己属于那些用户组
        • groups <user> :所得冒号之前表示用户,后面表示该用户所属的用户组
        • cat /etc/group: 文件格式说明:group_name:password:GID:user_list
      • 将其它用户加入 sudo 用户组sudo usermod -G sudo <user>
    • 删除用户sudo deluser <user> --remove-home
    • 查看文件权限ls -lll <文件名>ls -Als -Al

    • 变更文件所有者sudo chown <要变更的文件所属用户> <文件名>
    • 修改文件权限
      • 二进制数字表示:每个文件的三组权限(拥有者,所属用户组,其他用户,这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” 。如 chmod 600 <文件名>
      • 加减赋值操作:g、o 、u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。如 chmod go-rw <文件名>
    • adduser 和 useradd 的区别是什么?
      • useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

    作业

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

    sudo adduser loutest //添加一个用户loutest
    sudo usermod -G sudo loutest  //给新用户添加 sudo 权限(添加到sudo组)
    su loutest  //用户loutest登录
    cd /home/loutest //切换目标用户的环境变量
    sudo touch /opt/forloutest //使用 sudo 创建文件 /opt/forloutest
    ll /opt/forloutest 
    echo "echo "hello shiyanlou"" > /opt/forloutest //在用户loutest下写该文件,发现不能写
    cat /opt/forloutest //在用户loutest下读该文件,发现可读
    sudo chmod 646 /opt/fortest  //设置其他用户对文件/opt/fortest权限为读写,拥有者和所属用户组的权限不变
    ll /opt/forloutest 
    echo "echo "hello "" > /opt/forloutest //在用户loutest下写该文件
    cat /opt/forloutest //在用户loutest下读该文件
    

    实验四.Linux目录结构及文件基本操作

    知识点总结

    • Linux的目录结构
    • 绝对路径:以根" / "目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
    • 相对路径:相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。
    • 新建
      • 新建空白文件touch <文件名>
      • 新建目录touch <目录名>mkdir -p father/son/grandson(使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录)
    • 复制
      • 复制文件:使用 cp(copy)命令复制一个文件到指定目录,cp <文件名> <目录名>
      • 复制目录:要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制,cp -r <被复制的目录名> <目录名>
    • 删除
      • 删除文件rm <文件名>rm -f <文件名>(忽略提示,直接删除文件,可以使用 -f 参数强制删除)
      • 删除目录rm -r <目录名> 跟复制目录一样,要删除一个目录,也需要加上 -r 或 -R 参数
    • 移动文件mv <源目录文件> <目的目录>
    • 重命名文件mv <旧的文件名> <新的文件名>
    • 查看文件cat -n passwd,-n 参数显示行号
    • 查看文件类型file <文件名>

    作业

    1. 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。
    2. Linux 的日志文件在哪个目录?
    • Linux 的日志文件在/var/log
      其中/var/log/message系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一;
      /var/log/secure与安全相关的日志信息;/var/log/maillog与邮件相关的日志信息;/var/log/cron与定时任务相关的日志信息;/var/log/spooler与UUCP和news设备相关的日志信息;/var/log/boot.log守护进程启动和停止相关的日志消息。

    实验五.环境变量与文件查找

    知识点总结

    • 创建变量declare <变量名>,并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。
    • 涉及到的变量类型有三种:
      • 当前 Shell 进程私有用户自定义变量,只在当前 Shell 中有效。
      • Shell 本身内建的变量。
      • 从自定义变量导出的环境变量。
    • 三个用于打印环境变量信息的变量,区别在于涉及的变量范围不同
      • set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
      • env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
      • export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。
    • 如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量就好啦。
    • 添加自定义路径到“ PATH ”环境变量PATH=$PATH:<绝对路径>
    • 搜索文件
      • whereis 简单快速:只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。
      • locate 快而全:它可以用来查找指定目录下的不同文件类型,如查找 /etc 下所有以 sh 开头的文件:
      $ sudo apt-get update
      $ sudo apt-get install locate
      $ locate /etc/sh
      
      查找 /usr/share/ 下所有 jpg 文件:
      $ locate /usr/share/*.jpg
      
      • which 小而精:我们通常使用 which 来确定是否安装了某个指定的软件,因为它只从 PATH 环境变量指定的路径中去搜索命令,如:which man
      • find 精而细:注意 find 命令的路径是作为第一个参数的, 基本命令格式为 find [path] [option] [action] 。如去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录:sudo find /etc/ -name interfaces

    作业

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

    实验六.文件打包与解压缩

    知识点总结

    • 使用 zip 打包文件夹zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop,其中-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o表示输出文件,需在其后紧跟打包输出文件名。
    • 设置压缩级别为 9 和 1(9 最大,1 最小),添加了一个参数用于设置压缩级别 -[1-9],1 表示最快压缩但体积大,9 表示体积最小但耗时最久。最后那个 -x 是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中,注意:这里只能使用绝对路径,否则不起作用。
    $ 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
    
    • 创建加密 zip 包:使用 -e 参数可以创建加密压缩包:zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou/Desktop
    • 将 XX.zip 解压到当前目录:unzip XX.zip
    • 不想解压只想查看压缩包的内容可以使用 -l 参数:unzip -l XX.zip
    • 使用安静模式,将文件解压到指定目录:unzip -q XX.zip -d <指定目录>,指定目录不存在,将会自动创建
    • 创建一个 tar 包tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop,,-P 保留绝对路径符,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后。
    • 解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):tar -xf XX.tar -C <已存在目录>
    • 只查看不解包文件 -t 参数:tar -tf XX.tar

    作业

    创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。

    实验七.文件系统操作与磁盘管理

    知识点总结

    • 查看磁盘和目录的容量
      • 使用 df 命令查看磁盘的容量:df -h
      • 使用 du 命令查看目录的容量:du -h
    • mount 命令挂载磁盘到目录树
    • mount命令的一般格式如下:`mount [options] [source] [directory]
    • 一些常用操作:mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]

    作业

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

    实验八.Linux下的帮助命令

    知识点总结

    • 内建命令:是 shell 程序的一部分,包含一部分的Linux系统命令,且其执行速度比外部命令快。
    • 外部命令:是 Linux 系统中的实用程序部分,不包含在 shell 中,但命令执行过程是由 shell 程序控制的。
    • 帮助命令
      • help:内建命令:help内建命令,外部命令:参数--help
      • manman ls打开手册
      • infoinfo 命令(相较于man更完整)

    其他参考资料

    别出心裁的Linux命令学习法

    linux命令中cd / 和 cd ~

    Linux 系统目录结构

    linux中echo的使用方法

    第一个shell脚本

  • 相关阅读:
    Screengrab,火狐插件,把页面存成图片
    织梦内容管理系统 4_0_1 的rand()优化
    Linux下第一个C程序
    用C#的控制台程序监控apache网站是否正常
    Python入门 —— 04字符串解析
    Python入门 —— 01简介
    Python入门 —— 02基础语法
    Python入门 —— 2048实战(字符界面和图形界面)
    Python入门 —— 05时间日期处理小结
    用Python代码实现微信跳一跳作弊器
  • 原文地址:https://www.cnblogs.com/yangdd/p/12311897.html
Copyright © 2020-2023  润新知