欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Tracee中怎么使用eBPF來(lái)追蹤容器和系統(tǒng)事件

這篇文章將為大家詳細(xì)講解有關(guān)Tracee中怎么使用eBPF來(lái)追蹤容器和系統(tǒng)事件,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元于田做網(wǎng)站,已為上家服務(wù),為于田各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

Tracee

Tracee是一款易于使用的輕量級(jí)容器和系統(tǒng)追蹤工具,在該工具的幫助下,研究人員可以實(shí)時(shí)監(jiān)控系統(tǒng)調(diào)用和其他系統(tǒng)事件。Tracee的獨(dú)特之處就在于,它只會(huì)追蹤新創(chuàng)建的進(jìn)程和容器,也就是Tracee運(yùn)行之后所開(kāi)啟的進(jìn)程和容器,這樣就可以幫助用戶將注意力放在相關(guān)事件上,而不是系統(tǒng)中所發(fā)生的每一件事情。向Tracee添加新事件(尤其是系統(tǒng)調(diào)用)也非常簡(jiǎn)單,而且無(wú)需手寫(xiě)任何代碼。

除了追蹤功能之外,Tracee還能夠捕捉到寫(xiě)入磁盤(pán)或內(nèi)存的文件,并提取動(dòng)態(tài)加載至應(yīng)用程序內(nèi)存中的代碼。在這些功能的幫助下,我們將能夠獲取到運(yùn)行進(jìn)程的內(nèi)部情況。

工具依賴

Tracee要求運(yùn)行系統(tǒng)的Linux內(nèi)核版本 >= 4.14。

如果使用Docker鏡像的話,還需要滿足下列條件:

  • C標(biāo)準(zhǔn)庫(kù);

  • libelf和zlib庫(kù);

  • clang >= 9;

如果使用的是預(yù)編譯的eBPF代碼,則需要滿足下列條件:

  • clang >= 9;

  • /usr/src下包含可用的內(nèi)核Header,由用戶提供,需匹配正在運(yùn)行的內(nèi)核版本;

Docker鏡像運(yùn)行

docker run --name tracee --rm --privileged --pid=host -v /lib/modules/:/lib/modules/:ro -v /usr/src:/usr/src:ro -v /tmp/tracee:/tmp/tracee aquasec/tracee

上述命令將會(huì)以無(wú)參數(shù)的形式運(yùn)行Tracee,默認(rèn)會(huì)收集所有新創(chuàng)建進(jìn)程的相關(guān)事件,并將其以標(biāo)準(zhǔn)輸出的形式打印在表格中。

安裝選項(xiàng)

Tracee這個(gè)程序基于eBPF程序(tracee.bpf.$kernelversion.$traceeversion.o)實(shí)現(xiàn),當(dāng)Tracee開(kāi)始運(yùn)行后,它將會(huì)尋找eBPF程序,路徑可能是/tmp/tracee或TRACEE_BPF_FILE環(huán)境變量定義的路徑。如果沒(méi)有找到eBPF的話,程序?qū)?huì)嘗試自動(dòng)構(gòu)建eBPF,這一步可以使用--build-policy選項(xiàng)來(lái)控制。

最簡(jiǎn)單的方法就是讓tracee程序自動(dòng)構(gòu)建eBPF程序,我們可以按照下列方式獲取可執(zhí)行程序:

  • 從項(xiàng)目的GitHub庫(kù)上下載(tar.gz);

  • 使用Docker鏡像:aquasec/tracee(已包含所有依賴組件);

  • 使用make build命令從源代碼構(gòu)建可執(zhí)行程序;

  • 在Docker容器中使用源碼構(gòu)建可執(zhí)行程序:make build DOCKER=1;

或者說(shuō),我們也可以預(yù)編譯eBPF程序,并將其提供給tracee程序。這樣一來(lái),我們就不需要用到clang和內(nèi)核Header了。我們可以按照下列方式構(gòu)建eBPF:

make bpf

如需在Docker容器中構(gòu)建,請(qǐng)運(yùn)行下列命令:

make bpf DOCKER=1

make all

make all DOCKER=1

拿到eBPF程序之后,我們就可以將其提供給Tracee了。此時(shí),我們可以使用更加輕量級(jí)的aquasec/tracee:slim鏡像來(lái)代替完整的Docker鏡像。這個(gè)鏡像無(wú)法構(gòu)建eBPF程序,因此我們需要預(yù)先完成eBPF的構(gòu)建。

權(quán)限

如果Tracee執(zhí)行的不是追蹤任務(wù),那么它就不需要其他權(quán)限。比如說(shuō),構(gòu)建eBPF程序、枚舉所有選項(xiàng)等等,都能夠以普通用戶完成。

如需執(zhí)行追蹤任務(wù),Tracee則需要更高級(jí)別的管理員權(quán)限了。

工具使用

下面給出的是Tracee的樣本輸出(無(wú)額外參數(shù)運(yùn)行,默認(rèn)追蹤所有事件):

TIME(s)        UID    COMM             PID     TID     RET             EVENT                ARGS

176751.746515  1000   zsh              14726   14726   0               execve               pathname: /usr/bin/ls, argv: [ls]

176751.746772  1000   zsh              14726   14726   0               security_bprm_check  pathname: /usr/bin/ls, dev: 8388610, inode: 777

176751.747044  1000   ls               14726   14726  -2               access               pathname: /etc/ld.so.preload, mode: R_OK

176751.747077  1000   ls               14726   14726   0               security_file_open   pathname: /etc/ld.so.cache, flags: O_RDONLY|O_LARGEFILE, dev: 8388610, inode: 533737

...

關(guān)于Tracee中怎么使用eBPF來(lái)追蹤容器和系統(tǒng)事件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享標(biāo)題:Tracee中怎么使用eBPF來(lái)追蹤容器和系統(tǒng)事件
網(wǎng)站地址:http://www.chinadenli.net/article34/peiise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)動(dòng)態(tài)網(wǎng)站網(wǎng)站導(dǎo)航Google移動(dòng)網(wǎng)站建設(shè)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)