在昨天的網路連線測試中,我們使用了現代 Linux 預設的 ip a 與 ss 指令。許多老牌的網管或資安教學文章中,經常會看到 ifconfig 與 netstat 這兩個經典指令,但在剛架好的 Ubuntu 中輸入它們,系統卻會提示找不到指令(Command not found)。
這不是系統壞了,而是較新的 Linux 發行版為了輕量化,已經將它們從預設清單中移除了。今天,我們就要學習 Linux 最強大的套件管理系統 (APT),像在手機 App Store 下載軟體一樣,把這些經典的網路檢測神器裝回來!
apt update)在 Linux 中安裝任何軟體前,第一步永遠是「更新軟體清單」。這就像是去圖書館借書前,先去櫃檯拿最新的館藏目錄,確保系統知道去哪裡下載最新版本的軟體。
【實作練習】
由於安裝軟體會更動到系統核心,我們必須加上 sudo 來呼叫最高權限(Administrator)。在終端機輸入:
sudo apt update
(輸入密碼時螢幕不會顯示任何字元,盲打完按 Enter 即可)

畫面解析:
畫面中會跑出一連串 Get: 或是中文的 下載:、命中: 資訊。這代表你的 Ubuntu 正在連線到官方伺服器,抓取最新的軟體清單庫。當最後顯示「可升級 XX 個套件」時,代表清單更新完成。
apt install)我們要找回的 ifconfig 與 netstat,其實都被打包在一個名為 net-tools 的工具包裡面。有了最新的清單後,我們就可以直接呼叫系統下載並安裝它。
【實作練習】
在終端機輸入安裝指令:
sudo apt install net-tools

畫面解析:
系統會自動計算這個套件需要多少硬碟空間(例如圖中的 151 kB),接著會顯示 Unpacking (解壓縮) 與 Setting up (設定) 的過程。只要沒有出現紅色的 Error 字眼,並順利回到 zhun@UbuntuLab:~$ 提示字元,就代表安裝成功了。
軟體裝好了,我們馬上來測試這兩個剛入手的經典指令。
【實作練習】
依序輸入以下指令來查看網路介面與連接埠狀態:
ifconfig
netstat -tuln

畫面解析:
ifconfig:輸出的結果與昨天的 ip a 非常類似,你可以清楚看到網卡 enp0s3 的 IP 位址 (inet 10.0.2.15),且排版方式對於許多老玩家來說更加直覺。netstat -tuln:輸出的表格清楚列出了目前系統正在聆聽的 TCP (tcp) 與 UDP (udp) 狀態,以及對應的 Local Address (如 127.0.0.53:53)。今天我們解鎖了 Linux 的 APT 套件管理系統,這賦予了我們在終端機中自由擴充工具的能力。未來在進行資安演練時,如果遇到缺乏特定掃描工具或腳本語言環境,只要一句 sudo apt install 套件名稱 就能輕鬆解決。
我們已經會管檔案、看網路、裝軟體了。但如果系統被駭客入侵,或是網路服務突然掛掉,我們該去哪裡找兇手?明天 [Day 6],我們將學習 Linux 的系統日誌 (Log) 檢查與即時監控實作,教你如何像偵探一樣從系統紀錄檔中找出蛛絲馬跡!我們明天見。