• 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 信息

    参考文献

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

    以上

  • 相关阅读:
    js处理json数据,java处理json数据
    sqlmap中##和$$的区别
    tar.gz和bin,以及rpm,deb等linux后缀的文件的区别
    ibatis内置类型
    1099端口被占问题
    动态代理与静态代理的区别
    条款36:绝不重新定义继承而来的non-virtual函数(Never redefine an inherited non-virtual function)
    条款35:考虑virtual函数以外的其他选择(Consider alternative to virtual functions)
    条款34:区分接口继承和实现继承(Different between inheritance of interface and inheritance of implemenation)
    工作好习惯(18之后)
  • 原文地址:https://www.cnblogs.com/qianxiaoxu/p/12345831.html
Copyright © 2020-2023  润新知