bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Tracee中怎么使用eBPF來追蹤容器和系統事件

這篇文章將為大家詳細講解有關Tracee中怎么使用eBPF來追蹤容器和系統事件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創新互聯成立于2013年,是專業互聯網技術服務公司,擁有項目網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元于田做網站,已為上家服務,為于田各地企業和個人服務,聯系電話:13518219792

Tracee

Tracee是一款易于使用的輕量級容器和系統追蹤工具,在該工具的幫助下,研究人員可以實時監控系統調用和其他系統事件。Tracee的獨特之處就在于,它只會追蹤新創建的進程和容器,也就是Tracee運行之后所開啟的進程和容器,這樣就可以幫助用戶將注意力放在相關事件上,而不是系統中所發生的每一件事情。向Tracee添加新事件(尤其是系統調用)也非常簡單,而且無需手寫任何代碼。

除了追蹤功能之外,Tracee還能夠捕捉到寫入磁盤或內存的文件,并提取動態加載至應用程序內存中的代碼。在這些功能的幫助下,我們將能夠獲取到運行進程的內部情況。

工具依賴

Tracee要求運行系統的Linux內核版本 >= 4.14。

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

  • C標準庫;

  • libelf和zlib庫;

  • clang >= 9;

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

  • clang >= 9;

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

Docker鏡像運行

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

上述命令將會以無參數的形式運行Tracee,默認會收集所有新創建進程的相關事件,并將其以標準輸出的形式打印在表格中。

安裝選項

Tracee這個程序基于eBPF程序(tracee.bpf.$kernelversion.$traceeversion.o)實現,當Tracee開始運行后,它將會尋找eBPF程序,路徑可能是/tmp/tracee或TRACEE_BPF_FILE環境變量定義的路徑。如果沒有找到eBPF的話,程序將會嘗試自動構建eBPF,這一步可以使用--build-policy選項來控制。

最簡單的方法就是讓tracee程序自動構建eBPF程序,我們可以按照下列方式獲取可執行程序:

  • 從項目的GitHub庫上下載(tar.gz);

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

  • 使用make build命令從源代碼構建可執行程序;

  • 在Docker容器中使用源碼構建可執行程序:make build DOCKER=1;

或者說,我們也可以預編譯eBPF程序,并將其提供給tracee程序。這樣一來,我們就不需要用到clang和內核Header了。我們可以按照下列方式構建eBPF:

make bpf

如需在Docker容器中構建,請運行下列命令:

make bpf DOCKER=1

make all

make all DOCKER=1

拿到eBPF程序之后,我們就可以將其提供給Tracee了。此時,我們可以使用更加輕量級的aquasec/tracee:slim鏡像來代替完整的Docker鏡像。這個鏡像無法構建eBPF程序,因此我們需要預先完成eBPF的構建。

權限

如果Tracee執行的不是追蹤任務,那么它就不需要其他權限。比如說,構建eBPF程序、枚舉所有選項等等,都能夠以普通用戶完成。

如需執行追蹤任務,Tracee則需要更高級別的管理員權限了。

工具使用

下面給出的是Tracee的樣本輸出(無額外參數運行,默認追蹤所有事件):

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

...

關于Tracee中怎么使用eBPF來追蹤容器和系統事件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享標題:Tracee中怎么使用eBPF來追蹤容器和系統事件
網站地址:http://vcdvsql.cn/article34/peiise.html

成都網站建設公司_創新互聯,為您提供虛擬主機動態網站網站導航Google移動網站建設搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發