chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中可怕的fork***介紹

dyquk4xk2p3d ? 來源:入門小站 ? 2023-05-22 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是Linux中的 Fork 炸彈

Linux中的Fork炸彈(Fork Bomb)是一種拒絕服務(wù)攻擊的形式,它利用了操作系統(tǒng)中的“fork()”系統(tǒng)調(diào)用。Fork()系統(tǒng)調(diào)用用于創(chuàng)建新進(jìn)程,該進(jìn)程是調(diào)用進(jìn)程的副本。Fork炸彈利用此系統(tǒng)調(diào)用創(chuàng)建大量的子進(jìn)程,以消耗系統(tǒng)資源,例如內(nèi)存和CPU時(shí)間,從而使系統(tǒng)不可用。

要實(shí)現(xiàn)Fork炸彈,可以使用以下代碼:

:(){:|:&};:

該代碼使用了一個(gè)稱為“鏡像遞歸”的技術(shù),其中一個(gè)進(jìn)程通過創(chuàng)建另一個(gè)進(jìn)程來反復(fù)復(fù)制自身,以迅速創(chuàng)建大量進(jìn)程。管道符號(hào)(|)使進(jìn)程從一個(gè)進(jìn)程傳遞到另一個(gè)進(jìn)程,以在更快的時(shí)間內(nèi)創(chuàng)建更多的進(jìn)程。“:”和“;”字符分別定義了shell函數(shù)和結(jié)束該函數(shù)的語法。

一旦Fork炸彈被激活,它會(huì)快速生成許多進(jìn)程,消耗系統(tǒng)資源,導(dǎo)致系統(tǒng)崩潰或變得不可用。為了避免這種攻擊,Linux系統(tǒng)管理員可以限制每個(gè)用戶創(chuàng)建進(jìn)程的數(shù)量,或者禁用fork()系統(tǒng)調(diào)用。

Fork Bomb 基本上就是創(chuàng)建 fork 的過程,無限地創(chuàng)建 fork,直到您的系統(tǒng)沒有剩余的資源。

589a1898-f70c-11ed-90ce-dac502259ad0.png

Fork炸彈命令解析

:() 定義了一個(gè)名稱為 : 的函數(shù),不接受任何參數(shù)。

{} 是函數(shù)開始和結(jié)束的地方。簡(jiǎn)而言之,它包含最終會(huì)崩潰您的機(jī)器的命令。

:|: 是遞歸開始的地方(調(diào)用自身的函數(shù))。更準(zhǔn)確地說,它會(huì)將一個(gè) : 函數(shù)加載到內(nèi)存中,將其輸出管道 (|) 其自身的輸出到另一個(gè)已加載到系統(tǒng)內(nèi)存中的 : 函數(shù)。

& 將執(zhí)行整個(gè)函數(shù)后臺(tái),以便不會(huì)殺死任何子進(jìn)程。

; 將每個(gè)子函數(shù)從多個(gè)執(zhí)行的鏈中分離。

: 運(yùn)行最近創(chuàng)建的函數(shù),因此鏈?zhǔn)椒磻?yīng)開始了!

如何預(yù)防

限制登錄用戶可以運(yùn)行的最大進(jìn)程數(shù)量,先查看當(dāng)前用戶可以使用的最大進(jìn)程數(shù)量

ulimit-u

然后編輯 /etc/security/limits.conf 文件

vim/etc/security/limits.conf
@wheelhardnproc5000
rumenzhardnproc5000

這樣,這些用戶的最大進(jìn)程數(shù)量將被限制在 5000 個(gè)進(jìn)程以內(nèi),這有助于防止 Fork Bomb 對(duì)系統(tǒng)造成太大的影響。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    609

    瀏覽量

    29620
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    373

    瀏覽量

    25157

原文標(biāo)題:Linux中可怕的fork炸彈

文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux下多進(jìn)程編程之fork()函數(shù)語法

    到目標(biāo)板上,運(yùn)行結(jié)果如下: $ arm-linux-gcc fork.c –o fork (或者修改Makefile) $ ./fork The returned value is 7
    發(fā)表于 08-19 09:28

    Linux進(jìn)程之fork()函數(shù)詳解及經(jīng)典筆試題

    也是所有進(jìn)程的發(fā)起者和控制者。內(nèi)核啟動(dòng)之后,便開始調(diào)用init進(jìn)程來進(jìn)行系統(tǒng)各項(xiàng)配置,該進(jìn)程對(duì)于Linux系統(tǒng)正常工作是十分重要的。一個(gè)進(jìn)程(父進(jìn)程)可以通過調(diào)用fork()函數(shù)創(chuàng)建一個(gè)新的進(jìn)程,這個(gè)
    發(fā)表于 11-13 15:31

    Linuxfork()函數(shù)詳解

    的事。一個(gè)進(jìn)程調(diào)用fork()函數(shù)后,系統(tǒng)先給新的進(jìn)程分配資源,例如存儲(chǔ)數(shù)據(jù)和代碼的空間。然后把原來的進(jìn)程的所有值都復(fù)制到新的新進(jìn)程,只有少數(shù)值與原來的進(jìn)程的值不同。相當(dāng)于克隆了一個(gè)自己。。。。。。有需要的請(qǐng)下載附件PDF。
    發(fā)表于 11-12 13:37

    最常見的fork用法是什么

    接口語法用來創(chuàng)造一個(gè)子進(jìn)程在子進(jìn)程,成功的fork調(diào)用會(huì)返回 0。在父進(jìn)程fork返回子進(jìn)程的 pid。如果出現(xiàn)錯(cuò)誤,fork返回一個(gè)負(fù)
    發(fā)表于 12-15 07:38

    linux共享庫(kù)下,調(diào)用共享庫(kù)函數(shù)時(shí),程序卡死在函數(shù)的pid=fork()這里的原因?

    linux共享庫(kù)下,調(diào)用共享庫(kù)函數(shù)時(shí),程序卡死在函數(shù)的pid=fork()這里,來個(gè)大佬指導(dǎo)指導(dǎo)原因...
    發(fā)表于 06-20 06:55

    Linux系統(tǒng)的fork運(yùn)行機(jī)制分析

    如果其中一個(gè)進(jìn)程的輸出結(jié)果是“pid1:1001, pid2:1002”,寫出其他進(jìn)程的輸出結(jié)果(不考慮進(jìn)程執(zhí)行順序)。 明顯這道題的目的是考察linuxfork的執(zhí)行機(jī)制。下面我們通過分析這個(gè)題目,談?wù)?b class='flag-5'>Linux下
    發(fā)表于 04-26 16:26 ?1368次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)的<b class='flag-5'>fork</b>運(yùn)行機(jī)制分析

    linuxfork()函數(shù)詳解

    一個(gè)進(jìn)程調(diào)用fork()函數(shù)后,系統(tǒng)先給新的進(jìn)程分配資源,例如存儲(chǔ)數(shù)據(jù)和代碼的空間。然后把原來的進(jìn)程的所有值都復(fù)制到新的新進(jìn)程,只有少數(shù)值與原來的進(jìn)程的值不同。相當(dāng)于克隆了一個(gè)自己。
    發(fā)表于 04-28 17:34 ?1943次閱讀

    Linuxfork()函數(shù)詳解

    一個(gè)進(jìn)程,包括代碼、數(shù)據(jù)和分配給進(jìn)程的資源。fork()函數(shù)通過系統(tǒng)調(diào)用創(chuàng)建一個(gè)與原來進(jìn)程幾乎完全相同的進(jìn)程,也就是兩個(gè)進(jìn)程可以做完全相同的事,但如果初始參數(shù)或者傳入的變量不同,兩個(gè)進(jìn)程也可以做不同的事。
    發(fā)表于 05-08 14:08 ?1799次閱讀

    Linuxfork同時(shí)創(chuàng)建多個(gè)子進(jìn)程的方法

    Fork同時(shí)創(chuàng)建多個(gè)子進(jìn)程方法第一種方法:驗(yàn)證通過特點(diǎn):同時(shí)創(chuàng)建多個(gè)子進(jìn)程,每個(gè)子進(jìn)程可以執(zhí)行不同的任務(wù),程序 可讀性較好,便于分析,易擴(kuò)展為多個(gè)子進(jìn)程int main(void
    發(fā)表于 04-02 14:40 ?824次閱讀

    不用學(xué)英語了?Fork成“分叉”、Blame變“追溯”

    Fork:翻譯一直很有爭(zhēng)議,因此通常不翻譯。有翻譯成分叉、也有翻譯成分支的。Linux中國(guó)翻譯組(LCTT)的譯者dongfengweixiao曾提議將Fork譯作“復(fù)刻”,詞義和讀音兩方面都比較契合?,F(xiàn)在官方將其翻譯成“分叉”
    的頭像 發(fā)表于 07-07 08:11 ?3642次閱讀

    fork函數(shù)的作用_fork函數(shù)創(chuàng)建進(jìn)程

     在Linuxfork函數(shù)是非常重要的函數(shù),它的作用是從已經(jīng)存在的進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,而原進(jìn)程稱為父進(jìn)程。
    發(fā)表于 12-01 13:41 ?8565次閱讀
    <b class='flag-5'>fork</b>函數(shù)的作用_<b class='flag-5'>fork</b>函數(shù)創(chuàng)建進(jìn)程

    最為精簡(jiǎn)的一個(gè)Linux Fork炸彈解析

    () Fork***的本質(zhì)無非就是靠創(chuàng)建進(jìn)程來搶占系統(tǒng)資源,在Linux,我們可以通過ulimit命令來限制用戶的某些行為,運(yùn)行ulimit -a可以查看我們能做哪些限制
    的頭像 發(fā)表于 09-07 16:12 ?1409次閱讀

    SystemVerilogfork-join_any

    fork-join_any和fork-join有所不同,fork-join_any的父進(jìn)程一直阻塞,直到任何一個(gè)并行的子進(jìn)程結(jié)束。
    的頭像 發(fā)表于 12-09 09:05 ?2625次閱讀

    SystemVerilogfork-join

    fork-join語句塊,每個(gè)語句都是并發(fā)進(jìn)程。在這個(gè)語句塊,父進(jìn)程一直被阻塞,直到所有由“fork-join”產(chǎn)生的子進(jìn)程都執(zhí)行完。
    的頭像 發(fā)表于 12-09 11:58 ?2939次閱讀

    SystemVerilogfork-join_none

    fork-join_none和fork-join、fork-join_any的區(qū)別一樣在于進(jìn)程退出機(jī)制以及對(duì)于父進(jìn)程的影響。
    的頭像 發(fā)表于 12-12 10:00 ?3495次閱讀