Linux fork 炸彈解析,Linux Fork Bomb

answer發表於2016-05-13

Linux Fork Bomb

:(){ :|: & };: 是一個bash函式,以 Fork Bomb 聞名,是一個拒絕服務攻擊的 Linux 系統。如果你好奇地去執行了這個命令,那麼趕快重啟系統吧~!

Linux fork 炸彈解析,Linux Fork Bomb

命令解析

  • 在這裡是一個函式名,我們定義之,並在後面執行它。
  • :|:& 函式的輸出通過管道傳給另一個冒號函式作為輸入,並且在後臺執行。
  • { }; 標識著裡面的內容是一個函式主體。
  • 最後一個為定義完成後的一次函式執行。

原理解析

  1. 首先需要說明的是:是一個shell內建命令,所以上面這段程式碼只有在bash中才可能產生fork炸彈,因為在其他一些shell中,內建命令的優先順序高於函式,所以執行 :,總是執行內建命令。(是一個空命令,while true等同於 while ,常用作佔位符)
  2. 先來看看函式的主體 :|:&,使用管道的時候是兩個程式同時開始執行。
  3. 所以當執行一個函式時,產生兩個新程式,然後一個原來的程式退出,這樣不停地遞迴下去,就產生了一個無限遞迴。按照這個增長模式的化,其增長趨勢約為2n

總結

Linux 中還有很多這樣存在這陷阱的命令,這也正是我喜歡 Linux 系統的原因,充滿著探索性。

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

Linux fork 炸彈解析,Linux Fork Bomb Linux fork 炸彈解析,Linux Fork Bomb

相關文章