歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linuxfork炸彈解析——LinuxForkBomb

Linuxfork炸彈解析——LinuxForkBomb

日期:2017/3/1 12:26:29   编辑:關於Linux

Linux Fork Bomb

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

命令解析

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

原理解析

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

總結

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

Copyright © Linux教程網 All Rights Reserved