此命令 :(){ :|: & };: 起什么作用?

此命令 :(){ :|: & };: 起什么作用?

这个 shell 命令在 Linux 中起什么作用

:(){ :|: & };:

它如何用于拒绝服务攻击?

答案1

这是一颗 fork 炸弹。我实际上在白板上写下了这句话(开玩笑)。不要运行它。

:()         # define a function named :, () defines a function in bash
{           
    : | :;  # the pipe needs two instances of this function, which forks two shells
}
;           # end function definition
:           # run it

因此,第一次运行会产生 2 个子 shell,然后每次运行又会运行 2 个子 shell...

: 是 bash 中的内置命令。它是一种“空”无操作命令。在有注释字符之前,它曾经是注释字符。现在,它作为无操作有一点用处,但在这里真正用处是因为它更隐秘,你看着它,会:()想这是什么?

相关内容