20199102《網絡攻防實踐》假期作業


20199102《網絡攻防實踐》假期作業

0 總體結構

本次作業屬於那個課程 《網絡攻防實踐》
這個作業要求在哪里 《網絡攻防實踐》假期作業
我在這個課程的目標是 學習網絡攻防相關技術、掌握網絡攻防相關能力
這個作業在哪個具體方面幫助我實現目標 復習markdown相關語法,學習Latex公式輸入方法,復習linux虛擬機安裝
作業正文 下述正文,作業一、作業二
其他參考文獻

1 作業一

1.1 你對網絡攻擊和防御了解多少?該課程需要計算機和網絡相關的基礎知識,你原專業是什么專業,目前你掌握多少基礎知識?

1.2 作業要使用Markdown格式,Markdown入門參考


1.1 學習經歷

  • 本科專業計算機科學與技術-軟件工程
  • 之前學習過《計算機網絡》、《協議分析》等與計算機網絡相關的課程
  • 了解ICMP洪水、IP分片攻擊和路由協議攻擊等網絡攻擊方式。
  • 學習過網絡協議相關防御措施,了解網絡攻擊防御相關措施如網絡防火牆技術、入侵檢測技術和網絡掃描技術等相關防御技術。

1.2 markdown格式

2 作業二

2.1 學習基於VirtualBox虛擬機安裝Ubuntu圖文教程在自己筆記本上安裝Linux操作系統(也可以使用VMWare安裝虛擬機,安裝方法自己百度)

2.2 通過實踐學習別出心裁的Linux命令學習法,掌握Linux命令的學習方法

2.3 參考上面的學習方法通過實踐學習Linux 基礎入門(新版)課程,掌握常用的Linux命令,重點是3/4/5/6/7/8節。


2.1 虛擬機的安裝

下面是安裝過程中的相關注意事項、操作步驟和截圖

  • 主力機器放在學校實驗室,通過蒲公英+遠程桌面操作機器,相關截圖可能比較奇怪。

  • 在Intel的CPU中虛擬化技術為VT-V, AMD的CPU中為SVM mode

  • 下載Ubuntu 18.04 鏡像文件

  • 虛擬機創建的相關參數設置(另外推薦圖床網站)

1GL6OI.png

  • 安裝過程之后需要重啟虛擬機,安裝vmware-tools實現虛擬機和主機之間的溝通。至此,系統安裝過程到此結束,下面我將使用我日常使用的虛擬系統完成接下來的作業。

  • 接下來在剛安裝系統之后需要對系統進行相關設置

    • apt-get換國內源 國內常見的兩個源為aliyun清華源

    • sudo apt-get updata & upgrade更新系統相關程序

    • sudo apt-get install zsh 安裝shell,並設置相關插件。

  • 至此系統設置安裝完成

2.2 linux命令學習

2.2.1用戶及文件權限管理

2.2.1.1 linux用戶管理相關命令

who 
	-a 全部信息
	-d 死掉進程
	-m 
	-q 當前已經登錄的
	-u 當前已經登錄的信息
	-r 等級
who mom likes //獲取當前終端的用戶名
sudo adduser username //
su username //切換用戶
group groupname //創建group
sudo usermod -G sudo username //添加管理員權限
sudo deluser name --remove-home //刪除用戶及其目錄
​```

adduser會創建用戶、創建目錄和設置用戶名

useradd只會創建用戶, 需要通過passwd username去設置密碼

1GxYaq.png

2.2.1.2 linux文件權限
ls
	-s    //顯示大小
	-S	  //按照大小排序
	-Al   
	-h
touch filename    //創建文件
chmod -R XXX filename //賦予文件權限
//三個數字分別代表groups、others和user
//1 2 4 三個數字分別代表run、read和write,加和為7

1J9R7d.png

2.2.2 linux目錄結構及文件基本操作

2.2.2.1 linux目錄結構

linux的大部分目錄結構是規定好了的FHS標准

FHS(英文:Filesystem Hierarchy Standard 中文:文件系統層次結構標准),多數 Linux 版本采用這種文件組織形式,FHS 定義了系統中每個區域的用途、所需要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理。

shiyanlou

2.2.2.2 linux文件基本操作
touch filename 				//創建文件
mdkir dirname				//創建目錄
mkdir -p path/dirname		//-p連同路徑一起創建
cp filename1 dirname		//copy
cp -r dirname1 dirname2		//遞歸copy
rm filename 				//刪除文件
	-r //遞歸刪除
	-f //忽視警告
mv A B						//移動文件A -> B
rename perl-exp perl-exp	//rename
cat filename				//打印文件
tac filename				//反向打印文件
nl filename					//顯示行號打印文件
	-b //添加行號方式
	-n //設置行號央視
	-w //行號占用字段位數
file filename				//顯示文件類型
head filename				//顯示文件前10行
tail filename				//顯示文件后10行

2.2.3 環境變量與文件查找

2.2.3.1 環境變量
命令 說明
set 顯示當前 Shell 所有變量,包括其內建環境變量(與 Shell 外觀等相關),用戶自定義變量及導出的環境變量。
env 顯示與當前用戶相關的環境變量,還可以讓命令在指定環境中運行。
export 顯示從 Shell 中導出成環境變量的變量,也能通過它將自定義變量導出為環境變量。
$ path=$PATH
$ echo $path
$ path=${path%/home/shiyanlou/mybin}
# 或使用通配符,*表示任意多個任意字符
$ path=${path%*/mybin}

$ unset temp				//取消變量

source .zshrc				//變量立即生效

1Jeg2j.png

2.2.3.2 命令的查找路徑與順序
命令 特點
where 這個搜索很快,因為它並沒有從硬盤中依次查找,而是直接從數據庫中查詢。
locate 通過“ /var/lib/mlocate/mlocate.db ”數據庫查找,不過這個數據庫也不是實時更新的,系統會使用定時任務每天自動執行 updatedb 命令更新一次,所以有時候你剛添加的文件,它可能會找不到,需要手動執行一次 updatedb 命令
which 我們通常使用 which 來確定是否安裝了某個指定的軟件,因為它只從 PATH 環境變量指定的路徑中去搜索命令:
find 我們通常使用 which 來確定是否安裝了某個指定的軟件,因為它只從 PATH 環境變量指定的路徑中去搜索命令:

find的一級參數和二級參數

參數 說明
-atime 最后訪問時間
-ctime 最后修改文件內容的時間
-mtime 最后修改文件屬性的時間
  • -mtime n:n 為數字,表示為在 n 天之前的“一天之內”修改過的文件
  • -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改過的文件
  • -mtime -n:列出在 n 天之內(包含 n 天本身)被修改過的文件
  • -newer file:file 為一個已存在的文件,列出比 file 還要新的文件名

2.2.4文件的打包與解壓縮

文件后綴名 說明
*.zip zip 程序打包壓縮的文件
*.rar rar 程序壓縮的文件
*.7z 7zip 程序壓縮的文件
*.tar tar 程序打包,未壓縮的文件
*.gz gzip 程序(GNU zip)壓縮的文件
*.xz xz 程序壓縮的文件
*.bz2 bzip2 程序壓縮的文件
*.tar.gz tar 打包,gzip 程序壓縮的文件
*.tar.xz tar 打包,xz 程序壓縮的文件
*tar.bz2 tar 打包,bzip2 程序壓縮的文件
*.tar.7z tar 打包,7z 程序壓縮的文件
2.2.4.1 打包
tar -czvf ***.tar.gz
tar -cjvf ***.tar.bz2
2.2.4.2解壓
tar -xzvf ***.tar.gz
tar -xjvf ***.tar.bz2
2.2.4.3參數
參數 作用
-x 檔案文件中釋放文件。
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
-r 把要存檔的文件追加到檔案文件的末尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘 記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
-u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。

2.2.5 文件系統操作和磁盤管理

2.2.5.1基本操作
df				//顯示磁盤容量
du				//顯示目錄大小
	-h			//更易於閱讀
	-d			//顯示深度
	-s			//顯示總計
2.2.5.2 磁盤管理
# 輸出到文件
$ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1
# 輸出到標准輸出
$ dd if=/dev/stdin of=/dev/stdout bs=10 count=1

//從/dev/zero設備創建一個容量為 256M 的空文件:
$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img

$ mount -o loop -t ext4 virtual.img /mnt 
# 也可以省略掛載類型,很多時候 mount 會自動識別

# 以只讀方式掛載
$ mount -o loop --ro virtual.img /mnt

# 進入磁盤分區模式
$ sudo fdisk virtual.img

$ sudo losetup /dev/loop0 virtual.img
# 如果提示設備忙你也可以使用其它的回環設備,"ls /dev/loop*"參看所有回環設備

# 解除設備關聯
$ sudo losetup -d /dev/loop0

格式化mkfs分區
$ sudo apt-get install kpartx
$ sudo kpartx -av /dev/loop0

# 取消映射
$ sudo kpartx -dv /dev/loop0

全部格式化為ext4
$ sudo mkfs.ext4 -q /dev/mapper/loop0p1
$ sudo mkfs.ext4 -q /dev/mapper/loop0p5
$ sudo mkfs.ext4 -q /dev/mapper/loop0p6

1JKdfS.png

2.2.5 linux下的幫助命令

內建命令實際上是 shell 程序的一部分,其中包含的是一些比較簡單的 Linux 系統命令,這些命令是寫在bash源碼的builtins里面的,由 shell 程序識別並在 shell 程序內部完成運行,通常在 Linux 系統加載運行時 shell 就被加載並駐留在系統內存中。而且解析內部命令 shell 不需要創建子進程,因此其執行速度比外部命令快。比如:history、cd、exit 等等。

外部命令是 Linux 系統中的實用程序部分,因為實用程序的功能通常都比較強大,所以其包含的程序量也會很大,在系統加載時並不隨系統一起被加載到內存中,而是在需要時才將其調入內存。雖然其不包含在 shell 中,但是其命令執行過程是由 shell 程序控制的。外部命令是在 Bash 之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

命令 特點
help 因為 help 命令是用於顯示 shell 內建命令的簡要幫助信息。幫助信息中顯示有該命令的簡要說明以及一些參數的使用以及說明,一定記住 help 命令只能用於顯示內建命令的幫助信息,不然就會得到你剛剛得到的結果。
man 因為 man 工具是顯示系統手冊頁中的內容,也就是一本電子版的字典,這些內容大多數都是對命令的解釋信息,還有一些相關的描述。通過查看系統文檔中的 man 也可以得到程序的更多相關信息和 Linux 的更多特性。
info 得到的信息是不是比 man 還要多了,info 來自自由軟件基金會的 GNU 項目,是 GNU 的超文本幫助系統,能夠更完整的顯示出 GNU 信息。所以得到的信息當然更多

3. 參考文獻

[1].https://www.cnblogs.com/centos2017/p/7896807.html

[2].https://www.cnblogs.com/littleby/p/9843620.html

[3].https://blog.csdn.net/makercloud/article/details/82696960

[4].https://blog.csdn.net/u012489236/article/details/97137007


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM