資安筆記 - Linux 指令與使用 II

白龍 Lv3

文章目標

  • 常用的文件編輯工具與使用
  • 文件檔案的比較與字符轉換
  • 網路探測工具
  • 網路管理指令:查詢、設定
  • 網路管理套件:套件之安裝與組態設定

文字編輯器

Linux 常用的 文字編輯器

  • emacs ( GNU Emacs )
  • nano ( GNU nano 常用的 )
  • joe ( Joe’s Own Editor )
  • Vim ( Vi IMproved 常用的 )

Nano

他是一個比較簡單,功能實用的文字編輯器

小歷史

  • 前身為 TIP ( TIP isn’t Pico, 1999 ) …
  • 期望製作一套自由軟體
  • 取代免費但非公開原始碼的 Pico、Pine…

但是後來因加入了GNU專案就改名成nano了

可用功能

  • 彩色文字 ( 識別 )
  • 支援正規表示式
  • 搜尋和替換
  • 平滑捲動…

安裝nano

先給你看這是可以成功開啟的畫面

圖

  1. 先在終端機看一下可不可以輸入指令 nano,如果沒有看下一步,有的話你可以直接看使用教學
  2. 在東端機輸入sudo apt install nano

無法安裝?

那你在終端機輸入sudo apt update,然後再執行第二步應該就可以了

使用教學

我們可以看到下nano下排有一個畫面,長這樣

pic

可以使用的有

快捷鍵 功能描述
ctrl + G Get Help (幫助)
ctrl + X Exit (退出) [常用]
ctrl + O Write Out (儲存) [常用]
ctrl + W Where Is (查找) [常用]
ctrl + K Cut Text (剪下)
ctrl + U Uncut Text (還原)
ctrl + T To Spell (拼字檢查)
ctrl + C Cur Pos (當前位置)

其實下面還很多選項,但是他都有用英文介紹每個功能在幹嘛,所以我就不多說了


那要打編輯一個檔案可以打nano <yourfilename>,如果要創建一個檔案你可輸入nano <createfilename>
一樣會顯示相同畫面,但是如果你的文件中有資訊就會顯示在nano中

接下來打開nano後就是要來編輯文件,滾動nano畫面的方式是使用上下鍵,其他的功能不常用到

最後就是要來儲存我們寫好的檔案

  1. 使用Ctrl + O寫出檔案
  2. 接著會跟你確認檔案名稱,你可以在這裡更改檔案名稱,或是直接Enter不改
  3. 然後會跳回到一開始的畫面,但是你的檔案其實已經儲存好了
  4. 最後Ctrl + X跳出編輯器,你的檔案就改好了

Vim

小歷史

  • 身為 Vi ( Visual, 1976 ) …
  • 自於 ex 編輯器,廣泛用於 Unix 中…
  • 種模式、組合鍵,可加快編輯效率…

其實是延伸版本

  • Vi 的衍伸 ( Clone ) 版本 …
  • Evim ( Easy Vim )
  • nvi ( new vi )
  • vile ( VI Like Emacs )
  • neoVIM
  • 還有其他…

那Vim

Vim ( Vi IMproved, 1991 ),Vi 的衍伸版之一 …

  • 有著 Vi 相同模式與操作
  • 分割視窗 ( 垂直、水平 )
  • 多次復原、重做
  • 對應 400 種以上語法凸顯
  • 編輯中斷復原
  • 多平台支援…

Vim 的功能

Vim 有三種 + 一種模式,分別為

  • 一般模式 ( normal mode )
    用於瀏覽 ( 移動、翻頁 ) 外,其他任何按鍵都是操作處理…

  • 編輯模式 ( insert mode )
    啟用文件編輯模式 ( 多種目標式啟用 )

  • 命令模式 ( command mode )
    下達 vim 功能指令 ( 存檔、離開、設定行號… )

    • 搜尋模式 ( search mode )
      命令模式的延伸
  • 虛擬模式 ( visual mode, v-mode )
    用於圈選與標示

    • 區段 ( VISUAL ) : [v]
    • 行 ( VISUAL LINE ) : [V]
    • 區塊 ( VISUAL BLOCK ): [Ctrl]+[v] / [V]
      搭配一般模式操作可達成刪除、複製、貼上、插入…

Vim功能列表

圖

安裝與教學

# 直接copy nano

先給你看這是可以成功開啟的畫面

圖

  1. 先在終端機看一下可不可以輸入指令 vim,如果沒有看下一步,有的話你可以直接看使用教學
  2. 在東端機輸入sudo apt install vim

無法安裝?

那你在終端機輸入sudo apt update,然後再執行第二步應該就可以了

使用教學

在Vim中輸入指例都是以:作為開頭輸入,這邊就簡單介紹己的比較常用的指令

指令 功能描述 簡寫
:set all 查閱所有設定組態
:set number 顯示行號 :set nu
:set nonumber 不顯示行號 :set nonu
:set tabstop=4 設定 TAB 跳格為 4 個字元 (預設為 8 個字元) :set ts=4
:set spell 拼字檢查
:set nospell 不使用拼字檢查
:set hlsearch 搜尋高亮度顯示 :set hls
:set nohlsearch 不使用搜尋高亮度顯示 :set nohls
:set cursorline 游標行標線

那接著就是要開啟視窗了

  1. 輸入vim打開視窗
  2. 然後按下a可以開始編輯

最後就是要退出編輯器,指令是這樣

  1. 編輯完成後輸入:q! (: = shift + ;),enter候你就退出了,詳細的你可以去看他500頁的文擋

現代文字編輯

但是不得不說如果你學好Vim,你在Linux上編輯的效率會比nano快很多,前提就是你真的要很了解和花時間,這個時間你不如去想想如何把電腦中的檔案上傳到上面,畢竟終端機文字編輯已經是上個世紀的事情了

Linux 常用網路工具

ping

沒錯這是我們第三次講ping了,與window不同的是他的option不一樣

  • -c <n> 可以指令發送封包的次數
  • -i <n> 指令發送封包的間格時間

整體的用法是這樣ping -c <n> -i <n> <TragetIp>

tracepath

# 不常使用

nslookup

這個工具同樣在window也有出現過,這個工具的功能是可以查看一個網域的各項資訊,用用法式這樣

  • nslookup <domain>

網路管理指令

簡介

優缺比較

  • 優點:一秒完成,不用重開機、重啟服務
  • 缺點:需學習指令、重開機即失效

使用工具套

  • net-tools
  • iproute

指令

ifconfig

這個指令是用來給你監視你的網目組態介面的,預設在Ubuntu-Server上是沒有的,所以你需要用apt安裝

查詢你的網卡名稱

  • ifconfig
    在最前很像en....的就是你的網卡名稱

如何把網路卡停用

  • ifconfig <你的網卡名稱> down
    通常當受到駭客的攻擊時可以即時的把網路切斷

啟用網卡

  • ifconfig <你的網卡名稱> up
    更剛才相反,這個就是啟用網卡

設定IP組態

  • ifconfig <你的網卡名稱> <IP位置> netmask <網路遮罩>
    也可以這樣寫
  • root@Workstation: ~# ifconfig ens33 192.168.1.10/24
  • root@Workstation: ~# ifconfig ens33

route

這個指令是用來查詢你的路由指令

用設定路由

  • route add -net <網段> <你的網卡名稱>
    也可以這樣寫
  • route add default gw 192.168.1.1
  • route -n

iproute

  • 網路介面組態監視
    除了使用ifconfig查看自己的網卡,也可以使用 ip address show <你的網卡名稱>,不過顯示的格式比較不一樣而已

  • 網卡介面監視
    如果是要查看自己的網卡資訊,可以用ip link show <你的網卡名稱>來查看你的網路卡資訊

  • 網路路由查詢
    這個根route是一樣的功能,但是使用的指令是ip route show 192.168.1.1

  • 設定網路介面 IP 組態
    這個指令是設置一個IP在一個網卡中的網路遮罩使用的,另是這樣ip address add 192.168.1.10/24 dev ens33

    可以有多個IP

一張網卡是同時有多個IP的,指令就是一直去新增不同的IP而已,在windown中也可以但是有點麻煩就是了

  • 設定網路路由
    這個指令可以設定你的IP的網路路由,可以刪除和新增
    • 新增
      ip route add default via 路由IP位置
    • 刪除
      ip route del 路由IP位置

最後可以使用up route show來查看是否設定成功

DNS 組態

位置在:/etc/resolve.conf
Linux服務使用 systemd 的管理服務 systemd-resolve,主要功能是統一管理各種統一管理 IP、路由、DNS的服務套件

網路管理套件

會需要網路管理套件是因為假設你使用指令更改,你每次重新開機擬更改過的蔥溪就不見了,但是使用網路管理套件可以在系統開機時自動更改,不會消失

常用的管理套件有

  • dhclient、dhcpcd
  • NetworkManager
  • ifupdown
  • netplan

相關組態檔

dhcpcd

NetworkManager

  • 組態檔路徑:/etc/sysconfig/network-scripts/ifcfg-<網卡名稱>

  • 如何設定啟用動態IP dhcp

創建一個檔案 ifcfg-<網卡名稱> 到資料夾 /etc/sysconfig/network-scripts/,裡面的內容放這樣

1
2
3
4
5
6
7
TYPE="Ethernet"
:
:
BOOTPROTO="dhcp"
:
DEVICE="<網卡名稱>>"
ONBOOT="yes"

接著再用 service 指令或 nmcli 重新啟動一次服務

使用serivce
service NetworkManager restart

使用nmcli
nmcli networking off
nmcli networking on

使用Ubuntu

創建一個檔案 <可自訂檔名>.yaml 到資料夾 /etc/netplan/,裡面的內容放這樣

1
2
3
4
5
6
network:
version: 2
renderer: networkd
ethernets:
<網卡名稱>:
dhcp4: yes

接著再用 netplan apply 重啟啟用服務

  • 如何設定啟用靜態IP static

創建一個檔案 ifcfg-<網卡名稱> 到資料夾 /etc/sysconfig/network-scripts/,裡面的內容放這樣

1
2
3
4
5
6
7
8
9
10
11
TYPE="Ethernet"
:
BOOTPROTO="static"
:
DEVICE="<網卡名稱>"
ONBOOT="yes"
IPADDR="192.168.<自己想要設定的IP>"
GATEWAY="192.168.1.1"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="168.95.1.1"

接著再用 service 指令或 nmcli 重新啟動一次服務

使用serivce
service NetworkManager restart

使用nmcli
nmcli networking off
nmcli networking on

使用Ubuntu

創建一個檔案 <可自訂檔名>.yaml 到資料夾 /etc/netplan/,裡面的內容放這樣

1
2
3
4
5
6
7
8
9
10
11
12
13
14
network:
version: 2
ethernets:
<網卡名稱>:
dhcp4: no
addresses:
- 192.168.<你想要的IP>/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 168.95.1.1

接著再用 netplan apply 重啟啟用服務