交大計中有 Kali Linux 的 mirror site,這應該是台灣國內速度最快的 mirror:
deb https://kali.cs.nctu.edu.tw/kali
軟體開發、伺服器和生活瑣事
交大計中有 Kali Linux 的 mirror site,這應該是台灣國內速度最快的 mirror:
deb https://kali.cs.nctu.edu.tw/kali
有使用 Linux 作為伺服器的人應該都算熟悉終端機操作界面。
常用的檔案操作工具有 ls
、cat
、mv
、cp
等等,這些都是 GNU project 提供的開源工具,可以自行下載原始碼並自行編譯、部屬在需要用到的平台上使用。但 cd
這個切換目錄的指令呢?
用 which
、whereis
都查不到 cd
這個檔案到底儲存在哪個目錄下,因為真的沒這檔案。
cd
並不在 /bin
或 /usr/local/bin
目錄下,其實是 shell (sh, tcsh, bash 等) 內建的指令。所以即使在不同的系統上,只要有正確安裝 shell,就有 cd 這個指令來切換 working directory。
備註:怎麼發現的?就不小心 sudo rm -fr /
而已 … _Drz
在駭客軍團的第 5 集約 39 分附近,因為失去「黑暗軍團」的幫忙,駭客想要馬上執行惡意程式來破壞「鋼山」公司的主機,如果有注意到的話,終端機的指令大致如下:
$ cd /opt/2/task/22/fdinfo/fsociety/hscripts $ ./fuxsocy
影片中直接使用 ./
來執行特定指令或 script,但並沒有特別指定要用 shell 或是要用 python?那這樣的話,電腦怎麼知道是執行檔可以直接載入記憶體中執行?或是否需要其他直譯器來執行?
Linux 和 Unix 在設計時有想到這個問題,目前大多數的解決方法,就是在檔案的第一行最前面加上 #! 符號作為標示,在標示後面跟著直譯器的絕對路徑,這樣就可以知道開發者需要使用哪個直譯器來跑這個 script。這個作法後來被稱為「shebang」。
駭客軍團中的主角 Elliot 的電腦螢幕上,有個綠色的視窗,一直有文字換來換去。那個工具叫做 htop
,主要用來顯示 CPU、記憶體、程序 (proccess) 當下的狀況。Linux 中有不少監視工具可以在 console 底下運作,除了 htop 以外還有專門顯示磁碟讀寫狀態、網路使用狀態、和 open port 狀態的工具。
先來介紹 htop。這個工具可以顯示電腦當下 CPU 使用量、memory 使用量,也可以列出目前吃 CPU / memory 最兇的 process。
htop
執行時,可以按下 h
來取得操作說明;使用方向鍵可以 highlight 特定的 process 進行分析和操作;按下 F6
可以選擇 process 要依照 CPU 使用量、記憶體使用量等來排序。
與 htop
類似的工具還有 top
、atop
、vtop
、glances
,而我最近想嘗試好用、輕巧的工具叫做 btop
:
接下來會介紹除了 htop 以外也很常用到的工具。
Netflix 上的影集「駭客軍團」不愧是以駭客為主題的影集,製作也非常用心,連螢幕畫面、指令也都是現實生活中存在的東西。從幹壞事來學習新知識才快。 XD
tar
是一個用來「打包」檔案的工具。當有多個檔案需要傳輸時,一個一個檔案傳輸很費事,不如全部打包後一起上傳,這時就找 tar 上場。
假如這邊有三個檔案:exploit.h
、exploit.so
、readme.md
,需要將三個檔案打包時,指令可以這樣下:
tar -cf data-pack.tar exploit.h exploit.so readme.md
這邊用到二個參數:
全部接在一起的意思就是:「將 exploit.h
、exploit.so
、readme.md
打包並儲存到新的檔案 data-pack.tar
」。
另外,用 tar 打包後的檔案,通常也稱為 tarball。