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

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

前言

这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense

这个作业的要求在哪里:https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228

我在这个课程的目标是:学习网络攻防相关知识,提升专业技能

这个作业在哪个具体方面帮助我实现目标:继续加深Linux系统命令、Markdown编辑命令的使用

作业一

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

对网络攻击和防御不太了解。

原专业是电子商务,从本科课程到考研准备到读研期间,与计算机和网络相关的基础知识大概了解的有:计算机网络、C语言程序设计、数据结构、操作系统、计算机组成、Linux……(不过学的时候也是简单了解一些,而且有的感觉忘得差不多了= =)

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

上学期选修过娄老师的《Linux内核分析》,对于markdown的编辑格式较为熟悉。

作业二

你自己动手安装过操作系统吗?如果没有话现在动手学一下吧。

学习基于VirtualBox虚拟机安装Ubuntu图文教程https://www.cnblogs.com/rocedu/p/6012545.html)。在自己笔记本上安装Linux操作系统,也可以使用VMWare安装虚拟机,安装方法自己百度。

上学期娄老师的课程要求下安装过虚拟机:

通过实践学习别出心裁的Linux命令学习法https://www.cnblogs.com/rocedu/p/4902411.html),掌握Linux命令的学习方法

1 Linux命令

登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments)。即Linux中命令格式为:

command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数

其中选项(option)是调整命令执行行为的开关,选项不同决定了命令的显示结果不同,参数(arugment)是指命令的作用对象。

如ls命令,ls或ls .是两条等价的命令,显示是当前目录的内容,这里“.”就是参数,表示当前目录,这个参数缺省可以省略。我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的方式,如下图所示:

以上简要说明了Linux命令以及选项和参数的区别,但具体Linux中哪条命令有哪些选项及参数,以及如何使用,需要我们靠经验积累或者查看Linux的帮助文档了。

以与文件新建删除的几条命令为例:

mkdir//创建一个新的目录
cd//切换目录
pwd//显示目前的目录
rmdir//删除一个空的目录

2 man命令

不论学习编程还是Linux命令,掌握帮助文档的使用都是很重要的,是举一反三的重要途径。

man是manual的缩写,我们可以通过man man来查看man的帮助,如下图:

帮助文档包含:

    1 Executable programs or shell commands(用户命令帮助) 
    2 System calls (系统调用帮助)  
    3 Library calls (库函数调用帮助)  
    4 Special files (usually found in /dev)  
    5 File formats and conventions eg /etc/passwd(配置文件帮助)  
    6 Games  
    7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)  
    8 System administration commands (usually only for root)  
    9 Kernel routines [Non standard]  

解释一下:

1是普通的Linux命令  

2是系统调用,操作系统的提供的服务接口 

3是库函数,  C语言中的函数

5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义  

6是给游戏留的,由各个游戏自己定义  

7是附件还有一些变量,比如向environ这种全局变量在这里就有说明  

8是系统管理用的命令,这些命令只能由root使用,如ifconfig 

man有一个-k选项用起来非常好,这个选项让你学习命令,编程时有了一个搜索引擎,可以举一反三。

我们通过一个例子来说明,比如数据结构中学过排序(sort),我不知道C语言中有没有完成这个功能的函数,可以通过“man -k sort”来搜索,因为是找C库函数,我们关注带3的,qsort好像是个好选项,如下图:

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

实验上学期做过,详情见博客:https://www.cnblogs.com/qianxiaoxu/p/11524112.html

用户及文件权限管理

添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。

1.添加用户loutest

$ sudo adduser loutest

2.用shiyanlou用户(sudo用户组用户)执行sudo命令将loutest 用户添加到sudo用户组,使其也可以使用sudo命令获得root权限

$ su shiyanlou
$ groups loutest
$ sudo usermod -G sudo loutest
$ groups loutest

3.使用sudo创建文件/opt/forloutest,为其随便写入一些内容,然后设置成用户loutest可以读写

$ su loutest 
$ cd /home/loutest
#创建文件/opt/forloutest
$ sudo touch /opt/forloutest
$ echo "echo /"hello lou/""> forloutset
#使用chmod命令修改文件权限
$ chmod 600 forloutest                             
#测试该用户是否可以查看文件  
$ ll forloutest     
#切换一个用户,测试其是否拥有forloutest文件的读写权限                                           
$ su lilei                                 
#经检验,设置完成后,用户lilei无法读写该文件                      
$ cat /home/loutest/forloutest                      

遇到的问题

一开始不知道shiyanlou用户的密码,经过在论坛上搜索,得知可以在右侧SSH直连环境中查看。

Linux 目录结构及文件基本操作

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

#使用mkdir命令可以创建一个空目录
$ mkdir homework        
#使用touch命令创建文件,使用shell通配符{c1..c2}可以一次性同时创建
$ touch {1..10}.txt         
#使用rm命令创建文件
$ rm {1..5}.txt                

Linux 的日志文件在哪个目录?

日志文件的默认路径是:/var/log

  • 下面是几个重要的日志文件的路径及其包含的信息
    • var/log/syslog:它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息。
    • /var/log/messages:包括整体系统信息,其中也包含系统启动期间的日志。此外,还包括mail,cron,daemon,kern和auth等内容
    • /var/log/user.log:记录所有等级用户信息的日志。
    • /var/log/auth.log:包含系统授权信息,包括用户登录和使用的权限机制等。
    • /var/log/daemon.log:包含各种系统后台守护进程日志信息。
    • /var/log/kern.log:包含内核产生的日志,有助于在定制内核时解决问题。

环境变量与文件查找

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

#使用find命令可以细而精地查找文件或目录
$ sudo find /etc/ -name *.list          

遇到的问题

find命令基本格式为 find [path] [option] [action] ,一开始错写成

$ sudo find /etc/ -name .list

忘记添加通配符*,表示0或多个字符。

文件打包与解压缩

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

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

Linux下的帮助命令

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

man没有内建与外部命令的区分,显示系统手册页中的内容,大多数都是对命令的解释信息,还有一些相关的描述。

info是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息

参考文献

————————————————————————————————————————————————————————————————————————————————————————————————————
如有不足,还请批评指正,不胜感激。

以上

猜你喜欢

转载自www.cnblogs.com/qianxiaoxu/p/12345831.html
今日推荐