分類: 作業系統之linux
linux shell
2013-07-21 18:22
100人閱讀收藏
舉報fork炸彈
fork炸彈是一種利用系統呼叫
fork
進行拒絕服務攻擊。
與病毒或蠕蟲不同,fork
炸彈沒有傳染性。
在類unix
系統的shell
程式設計下觸發
fork
炸彈的shell
指令碼**,總共
13個字元(包括空格)
:();:
其中::()
是函式宣告;
|並用管道將其輸出引至
:|:表示每次呼叫函式「
:」的時候會生成兩份備份;
& 呼叫間脫鉤,以使最初的「
:」被殺死後為其呼叫的兩個」:」還能繼續執行;
要想殺死每個程序不是那麼容易,我們要殺死所有的程序才行。因此我們嘗試用程式來殺死fork
炸彈所產生的所有程序,但是我們如果想建立程序,我們必須要有程序槽和記憶體空間,但是
fork
炸彈會一直探測並占有程序與記憶體空間,因而這一功能基本不可能實現;
因此,我們理論上是不可以將fork
炸彈熄火的。只有強制關機。
但是,我們可以採取措施來預防fork
炸彈的產生。
在linux
下我們可以通過
ulimit
這個指令來達到效果。例如:
ulimit -u 100
這個指令可以限制每乙個使用者只能建立
100個程序。
分類: linux/shell
2013-07-21 11:26
85人閱讀收藏
舉報linux
cutshell
cut命令可以從乙個文字檔案或者文字流中提取文字列。
cut語法
[root@www ~]# cut -d'分隔字元
' -f fields <==用於有特定分隔字元
[root@www ~]# cut -c 字元區間 <==用於排列整齊的資訊
選項與引數:
-d :後面接分隔字元。與 -f 一起使用;
-f :依據 -d 的分隔字元將一段資訊分割成為數段,用 -f 取出第幾段的意思;
-c :以字元 (characters) 的單位取出固定字元區間;
path 變數如下
[root@www ~]# echo $path/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/x11r6/bin:/usr/games
# 1 | 2 | 3 | 4 | 5 | 6 | 7
將 path 變數取出,我要找出第五個路徑。
#echo $path | cut -d ':' -f 5
/usr/local/bin
將 path 變數取出,我要找出第三和第五個路徑。
#echo $path | cut -d ':' -f 3,5
/sbin:/usr/local/bin
將 path 變數取出,我要找出第三到最後乙個路徑。
echo $path | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/x11r6/bin:/usr/games
將 path 變數取出,我要找出第一到第三個路徑。
#echo $path | cut -d ':' -f 1-3
/bin:/usr/bin:/sbin:
將 path 變數取出,我要找出第一到第三,還有第五個路徑。
echo $path | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin
實用例子:只顯示/etc/passwd的使用者和shell
#cat /etc/passwd | cut -d ':' -f 1,7
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh
Shell指令碼經典之Fork炸彈
一 什麼是fork炸彈 即 二 開發如何防禦 由於fork炸彈透過不斷的開新程序來癱瘓系統,乙個防止其嚴重影響系統的方法就是限定乙個使用者能夠建立的程序數的上限,在linux系統上,可以透過ulimit這個指令達到相應的效果,例如 ulimit hu 30 這個指令可以限制每乙個使用者最多只能建立3...
經典的 Fork 炸彈解析
jaromil在2002年設計了最為精簡的乙個linux fork炸彈,整個 只有13個字元,在shell中執行後幾秒後系統就會宕機 這樣看起來不是很好理解,我們可以更改下格式 更好理解一點的話就是這樣 bomb bomb 因為shell中函式可以省略function關鍵字,所以上面的十三個字元是功...
使用python建立跨平台的fork 炸彈
程序炸彈執行截圖 這是乙個用python實現的最簡單的fork炸彈 import os while true os.以下程式僅供學習之用,為避免對系統的造成損傷,已經進行了延時處理 from multiprocessing import process import os import time g...