利用Unix系統(tǒng)進(jìn)程 揪出潛藏的木馬與病毒
一般來(lái)說(shuō),在操作系統(tǒng)中,進(jìn)程是運(yùn)行程序在計(jì)算機(jī)上的一次執(zhí)行實(shí)例的活動(dòng)。當(dāng)我們運(yùn)行一個(gè)程序?qū)嵗?,就啟?dòng)了一個(gè)進(jìn)程。Unix操作系統(tǒng)給每一個(gè)進(jìn)程分配惟一的進(jìn)程識(shí)別號(hào)。每一個(gè)進(jìn)程有相關(guān)的UID分配給那個(gè)用戶調(diào)用的所有進(jìn)程。每一個(gè)進(jìn)程有一個(gè)優(yōu)先權(quán),調(diào)度程序使用它來(lái)確定下一次運(yùn)行的進(jìn)程,這也就是我們所說(shuō)的管理進(jìn)程。進(jìn)程又可分為系統(tǒng)進(jìn)程和用戶進(jìn)程。系統(tǒng)進(jìn)程主要用于完成操作系統(tǒng)的功能,而應(yīng)用程序的進(jìn)程就是用戶進(jìn)程了。
進(jìn)程的重要性體現(xiàn)在可以通過(guò)觀察它來(lái)判斷系統(tǒng)中到底運(yùn)行了哪些程序,從而在未能及時(shí)更新殺毒軟件或殺毒軟件失效的情況下,及時(shí)發(fā)現(xiàn)并手動(dòng)清除病毒或木馬。
Unix下的進(jìn)程查看
在Unix下可以監(jiān)督系統(tǒng)上的用戶和進(jìn)程,可以改變進(jìn)程的優(yōu)先權(quán)和停止進(jìn)程。
首先,我們可以用“w”命令監(jiān)督用戶和進(jìn)程,顯示誰(shuí)已注冊(cè)和他們?cè)诟墒裁础H鐖D1所示。
![]() |
圖1 |
其次,用“ps”命令顯示進(jìn)程狀態(tài)的抽點(diǎn)打印。ps有許多選項(xiàng),僅在這里列出一些,詳細(xì)資料請(qǐng)參閱相關(guān)資料。
a 列出和終端有關(guān)的所有進(jìn)程。
X 列出所有進(jìn)程,包括沒(méi)有連接到一個(gè)終端的進(jìn)程,如后臺(tái)進(jìn)程。
l或-l 長(zhǎng)列表給出更多字段(替代的格式)
u 列出面向用戶的字段,例如user(名字)和STARTED(進(jìn)程啟動(dòng)時(shí)間)
-e 列出除核心進(jìn)程外的所有進(jìn)程(類似ax)
進(jìn)程顯示中的某些字段說(shuō)明如下:
COMMAND 執(zhí)行的命令或程序
CP 短期CPU利用率
%CPU CPU利用的百分比
F 進(jìn)程標(biāo)志
%MEM 實(shí)存利用百分比
NI 進(jìn)程調(diào)度增量;nice值
PID 進(jìn)程識(shí)別號(hào)
PPID 父進(jìn)程識(shí)別號(hào)
PRI 進(jìn)程優(yōu)先權(quán)
STAT 進(jìn)程的狀態(tài),由字符序列表示,如表1所示。
![]() |
表1 |
TIME 當(dāng)前已使用的CPU時(shí)間
TT 控制TTY設(shè)備名
UID 進(jìn)程所有者的用戶標(biāo)識(shí)號(hào)
下面列出幾個(gè)實(shí)例,我們可以通過(guò)不同的命令查看到不同的內(nèi)容。
示例1、列出和終端有關(guān)的所有進(jìn)程,使用命令:
# ps a
顯示結(jié)果如圖2所示。
![]() |
圖2 |
示例2、列出和終端相關(guān)的所有進(jìn)程,并列出面向用戶的字段,使用命令:
# ps au
顯示結(jié)果如圖3所示。
![]() |
圖3 |
示例3、查看和終端有關(guān)的所有進(jìn)程的詳細(xì)信息,使用命令:
# ps la
顯示結(jié)果如圖4所示。
![]() |
圖4 |
示例4、查看和終端有關(guān)的所有進(jìn)程的詳細(xì)信息,包括后臺(tái)進(jìn)程,使用命令:
# ps lax
顯示結(jié)果如圖5所示。
![]() |
圖5 |
示例5、查看除核心進(jìn)程以外的所有進(jìn)程的詳細(xì)信息,使用命令:
# ps -le
顯示結(jié)果如圖6所示。
![]() |
圖6 |
示例6、查看除核心進(jìn)程以外的所有進(jìn)程,使用命令:
# ps -e
顯示結(jié)果如圖7所示。
![]() |
圖7 |
Unix下的進(jìn)程滅殺
Unix的一個(gè)進(jìn)程可以由它的所有者或超級(jí)用戶掛起或終止。
要掛起在korn或C Shell環(huán)境下前臺(tái)運(yùn)行的所屬自己的進(jìn)程時(shí),請(qǐng)按Ctrl+Z。該進(jìn)程可以使用fg在前臺(tái)繼續(xù),或使用bg該進(jìn)程在后臺(tái)繼續(xù)。
為了掛起自己的或其他的進(jìn)程,可以發(fā)送STOP信號(hào)(17)。Kill(1)命令用于向一個(gè)進(jìn)程發(fā)信號(hào)。如:#kill -signal pid。
要終止一個(gè)進(jìn)程,用#kill -9 pid號(hào)即可,如“# kill -9 637”。如圖8所示。
![]() |
圖8 |
這樣就將Unix終端給KILLED。如圖9所示。
![]() |
圖9 |
編輯提示:作為網(wǎng)管,在初裝完操作系統(tǒng)之后,最好做好系統(tǒng)進(jìn)程和用戶進(jìn)程的“快照”備份,以便日后檢查維護(hù),或者懷疑有病毒和木馬時(shí)對(duì)照檢查。尤其是對(duì)于安裝了新的應(yīng)用軟件后的進(jìn)程檢查。比如,新軟件運(yùn)行時(shí)有沒(méi)有添加系統(tǒng)進(jìn)程,添加的進(jìn)程名是什么?如果添加了進(jìn)程,我們由于沒(méi)有及時(shí)地查看并了解清楚,在出現(xiàn)問(wèn)題查毒后,有可能會(huì)把這些進(jìn)程錯(cuò)認(rèn)成病毒木馬給刪除了,會(huì)給今后日常維護(hù)、查毒帶來(lái)不必要的麻煩,甚至影響系統(tǒng)的運(yùn)行。
【編輯推薦】