中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊

包郵 eBPF開發(fā)指南 從原理到應(yīng)用

出版社:人民郵電出版社出版時(shí)間:2024-12-01
開本: 16開 頁數(shù): 460
中 圖 價(jià):¥76.9(7.0折) 定價(jià)  ¥109.8 登錄后可看到會員價(jià)
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

eBPF開發(fā)指南 從原理到應(yīng)用 版權(quán)信息

eBPF開發(fā)指南 從原理到應(yīng)用 本書特色

面對 Linux 系統(tǒng)監(jiān)控與性能分析的復(fù)雜挑戰(zhàn),你是否感到困惑與無助?遭遇線上服難題時(shí),你是否渴望一把解鎖內(nèi)核與應(yīng)用運(yùn)行奧秘的鑰匙?不用擔(dān)心,eBPF 技術(shù)便是你的新選擇。本書將是你在這場探索之旅中的指南針,引領(lǐng)你穿越內(nèi)核的復(fù)雜迷宮,發(fā)掘 eBPF 的強(qiáng)大功能。從基礎(chǔ)到高級,從監(jiān)控網(wǎng)絡(luò)流量到優(yōu)化應(yīng)用性能,本書不僅傳授理論,更提供實(shí)踐指南。讓我們攜手,借助eBPF 的力量,開啟系統(tǒng)架構(gòu)的新時(shí)代。

eBPF開發(fā)指南 從原理到應(yīng)用 內(nèi)容簡介

本書詳細(xì)介紹了eBPF核心技術(shù)及其應(yīng)用。全書可分為eBPF基礎(chǔ)知識、進(jìn)階應(yīng)用和實(shí)際案例三大部分,覆蓋了eBPF的編程接口、架構(gòu)及其在性能分析、安全監(jiān)控和網(wǎng)絡(luò)協(xié)議等方面的應(yīng)用。讀者將通過C、Go和Python等語言學(xué)習(xí)eBPF編程,并掌握其在系統(tǒng)監(jiān)控、數(shù)據(jù)分析和性能提升方面的實(shí)際技巧。
本書適合不同層次的讀者,包括對操作系統(tǒng)或應(yīng)用程序監(jiān)控感興趣的學(xué)生和初學(xué)者、希望利用eBPF進(jìn)行內(nèi)核代碼調(diào)試和優(yōu)化的Linux內(nèi)核開發(fā)人員、使用eBPF監(jiān)控系統(tǒng)事件和分析惡意軟件的安全工程師和逆向工程師、通過eBPF收集性能數(shù)據(jù)以優(yōu)化軟件和系統(tǒng)性能的性能分析師和應(yīng)用程序開發(fā)者,以及希望優(yōu)化虛擬化軟件性能和管理的虛擬化開發(fā)人員。

eBPF開發(fā)指南 從原理到應(yīng)用 目錄

第 1 章 eBPF 概述 11.1 eBPF 是什么 1 1.2 eBPF 發(fā)展歷史 2 1.3 eBPF 應(yīng)用領(lǐng)域 4 1.4 eBPF 如何運(yùn)行 5 1.5 eBPF 相關(guān)工具與庫 6 1.5.1 BCC 6 第 1 章 eBPF 概述 11.1 eBPF 是什么 1 1.2 eBPF 發(fā)展歷史 2 1.3 eBPF 應(yīng)用領(lǐng)域 4 1.4 eBPF 如何運(yùn)行 5 1.5 eBPF 相關(guān)工具與庫 6 1.5.1 BCC 6 1.5.2 bpftrace 7 1.5.3 libbpf 8 1.6 初識 eBPF 程序 8 1.7 本章小結(jié) 9 第 2 章 eBPF 開發(fā)環(huán)境準(zhǔn)備 102.1 Linux 發(fā)行版本的選擇 10 2.2 編程語言的選擇 12 2.3 安裝和配置 Linux 操作系統(tǒng)環(huán)境 13 2.3.1 Windows 上安裝和配置Linux 14 2.3.2 macOS 上安裝和配置Linux 16 2.3.3 其他環(huán)境安裝 17 2.4 以二進(jìn)制方式安裝 eBPF 開發(fā)工具與庫 20 2.4.1 安裝 BCC 20 2.4.2 安裝 bpftrace 21 2.4.3 安裝 libbpf 21 2.5 以源碼方式安裝 eBPF 開發(fā)工具與庫 22 2.5.1 編譯安裝 BCC 22 2.5.2 編譯安裝 bpftrace 23 2.5.3 編譯安裝 libbpf 24 2.6 本章小結(jié) 24 第 3 章 Linux 動態(tài)追蹤技術(shù) 253.1 Linux 動態(tài)追蹤系統(tǒng) 25 3.2 前端工具和庫 26 3.2.1 strace 與 ltrace 26 3.2.2 DTrace 29 3.2.3 SystemTap 30 3.2.4 LTTng 30 3.2.5 trace-cmd 31 3.2.6 perf 31 3.3 數(shù)據(jù)采集機(jī)制 35 3.3.1 ptrace 系統(tǒng)調(diào)用 36 3.3.2 perf_event_open 系統(tǒng)調(diào)用 36 3.3.3 BPF 系統(tǒng)調(diào)用 37 3.3.4 其他子系統(tǒng)與內(nèi)核模塊 37 3.4 跟蹤文件系統(tǒng) 37 3.4.1 掛載位置 38 3.4.2 目錄詳情 38 3.4.3 跟蹤器 43 3.4.4 跟蹤選項(xiàng) 44 3.4.5 環(huán)形緩沖區(qū) 47 3.5 Linux 內(nèi)核數(shù)據(jù)源 48 3.5.1 ftrace 49 3.5.2 kprobe/kretprobe 70 目錄- 2 - 3.5.3 uprobe/uretprobe 74 3.5.4 tracepoint 77 3.6 eBPF 數(shù)據(jù)采集點(diǎn) 83 3.7 本章小結(jié) 84 第 4 章 eBPF 程序入門 854.1 第 一個(gè) eBPF 程序 85 4.1.1 第 一個(gè) BCC 程序 85 4.1.2 第 一個(gè) C 語言版本的eBPF 程序 86 4.2 eBPF 程序功能解讀 91 4.2.1 加載 eBPF 字節(jié)碼 92 4.2.2 BPF 系統(tǒng)調(diào)用 93 4.2.3 attach_kprobe 96 4.2.4 perf_event_open 系統(tǒng)調(diào)用 96 4.3 eBPF 授權(quán)協(xié)議 102 4.4 eBPF 指令集 103 4.4.1 eBPF 寄存器 103 4.4.2 eBPF 指令編碼 104 4.4.3 指令列表 105 4.4.4 eBPF 指令分析 109 4.4.5 BCC 中 eBPF 程序指令的生成 110 4.4.6 eBPF 指令反匯編 112 4.4.7 eBPF 驗(yàn)證機(jī)制 117 4.5 libbpf 126 4.5.1 libbpf 功能 126 4.5.2 libbpf 接口 127 4.6 libbpf 案例程序 128 4.7 重寫 eBPF 程序 131 4.7.1 如何編譯 132 4.7.2 編譯內(nèi)核態(tài)程序 135 4.7.3 編譯生成 skel 頭文件 136 4.7.4 編譯用戶態(tài)程序 141 4.8 本章小結(jié) 143 第 5 章 BCC 1445.1 BCC 工具集 145 5.1.1 tools 工具集 146 5.1.2 libbpf-tools 工具集 146 5.2 BCC 常用的工具 147 5.2.1 opensnoop 147 5.2.2 exitsnoop 149 5.2.3 execsnoop 150 5.3 使用 Python 開發(fā) eBPF 程序 152 5.3.1 BPF API 152 5.3.2 opensnoop 程序解讀 157 5.4 使用 libbcc 開發(fā) eBPF 程序 165 5.4.1 libbcc 的編譯與安裝 166 5.4.2 重寫 eBPF 程序 167 5.4.3 編譯與測試 175 5.5 本章小結(jié) 181 第 6 章 bpftrace 1826.1 bpftrace 的功能和特性 182 6.1.1 工程結(jié)構(gòu) 182 6.1.2 探針類型 184 6.1.3 特性 185 6.1.4 主程序 185 6.2 bpftrace 的腳本語法 191 6.3 探針類型 198 6.3.1 kprobe 和 kretprobe 198 6.3.2 uprobe 和 uretprobe 200 6.3.3 跟蹤點(diǎn) 202 6.3.4 USDT 204 6.3.5 定時(shí)器事件 208 6.3.6 軟件與硬件事件 209 6.3.7 內(nèi)存監(jiān)視點(diǎn) 211 6.3.8 kfunc 和 kretfunc 214 6.3.9 迭代器 215 6.3.10 開始塊與結(jié)束塊 217 目錄- 3 - 6.4 bpftrace 變量 217 6.4.1 內(nèi)置變量 217 6.4.2 基礎(chǔ)變量 218 6.4.3 關(guān)聯(lián)數(shù)組 221 6.5 bpftrace 函數(shù) 221 6.5.1 基礎(chǔ)函數(shù) 221 6.5.2 映射表相關(guān)函數(shù) 225 6.6 bpftrace 的工作原理 226 6.7 bpftrace 工具集 231 6.8 本章小結(jié) 236 第 7 章 使用 Golang 開發(fā) eBPF 程序 2387.1 Go 語言開發(fā)環(huán)境介紹 238 7.2 使用 libbpfgo 開發(fā) eBPF 程序 239 7.2.1 搭建 libbpfgo 開發(fā)環(huán)境 239 7.2.2 開發(fā) eBPF 程序 241 7.3 Cilium 與 ebpf-go 244 7.3.1 搭建 ebpf-go 開發(fā)環(huán)境 244 7.3.2 使用 ebpf-go 開發(fā) eBPF 程序 245 7.3.3 bpf2go 和 bpftool 249 7.4 本章小結(jié) 255 第 8 章 BTF 與 CO-RE 2568.1 什么是 CO-RE 257 8.2 BTF 詳解 258 8.2.1 BTF 數(shù)據(jù)結(jié)構(gòu) 258 8.2.2 BTF 內(nèi)核 API 261 8.2.3 生成 BTF 信息 262 8.2.4 二進(jìn)制中的 BTF 264 8.2.5 BTF 相關(guān)輔助函數(shù) 265 8.3 對 BTF 的處理 266 8.3.1 編譯器對 BTF 的處理 266 8.3.2 libbpf 對 BTF 的處理 268 8.4 讀取內(nèi)核結(jié)構(gòu)體字段 269 8.4.1 案例一:直接訪問結(jié)構(gòu)體 269 8.4.2 案例二:使用 bpf_get_ current_task_btf 270 8.4.3 案例三:使用 BPF_ CORE_READ 271 8.4.4 BTF 相關(guān)的其他宏 273 8.5 低版本系統(tǒng)如何支持 BTF 274 8.5.1 什么是 BTFHub 275 8.5.2 生成*小化的 BTF 信息 279 8.5.3 編譯運(yùn)行 BTF-App 280 8.6 本章小結(jié) 285 第 9 章 eBPF 程序的數(shù)據(jù)交換 2869.1 eBPF 程序的數(shù)據(jù)結(jié)構(gòu) 286 9.1.1 什么是 eBPF map 286 9.1.2 map 支持的數(shù)據(jù)類型 291 9.2 map 操作接口 294 9.2.1 eBPF map 相關(guān)的 API 294 9.2.2 創(chuàng)建 map 299 9.2.3 添加數(shù)據(jù) 300 9.2.4 查詢 301 9.2.5 遍歷數(shù)據(jù) 301 9.2.6 刪除數(shù)據(jù) 302 9.2.7 使用 bpftool 操作 map 302 9.3 map 在內(nèi)核中的實(shí)現(xiàn) 306 9.3.1 創(chuàng)建 map 對象 307 9.3.2 map 對象的生命周期 314 9.3.3 eBPF 對象持久化 315 9.4 ftrace 的 eBPF 數(shù)據(jù)交換接口 317 9.4.1 bpf_trace_printk 317 9.4.2 封裝的 bpf_printk 宏 320 9.4.3 trace 日志的輸出格式 321 目錄- 4 - 9.5 perf 事件 322 9.5.1 perf 事件的 map 類型 323 9.5.2 內(nèi)核態(tài)程序?qū)懭?perf 事件 324 9.5.3 用戶態(tài)程序讀取 perf 事件 327 9.5.4 BCC 中 perf 事件處理 330 9.6 環(huán)形緩沖區(qū) 333 9.6.1 eBPF ringbuf 的 map 類型 334 9.6.2 內(nèi)核態(tài)程序如何使用ringbuf 335 9.6.3 用戶態(tài)程序如何使用ringbuf 344 9.6.4 完整的數(shù)據(jù)交換實(shí)例 346 9.7 本章小結(jié) 351 第 10 章 eBPF 程序類型與掛載點(diǎn) 35310.1 常見的 eBPF 程序類型 353 10.1.1 跟蹤和分析類 355 10.1.2 網(wǎng)絡(luò)類 356 10.2 eBPF 程序掛載點(diǎn) 357 10.3 函數(shù)跟蹤技術(shù) 358 10.3.1 內(nèi)核態(tài)程序跟蹤 358 10.3.2 用戶態(tài)程序跟蹤 360 10.4 kprobe 361 10.4.1 內(nèi)核中使用 kprobe 探針 361 10.4.2 kretprobe 365 10.4.3 eBPF 中創(chuàng)建 kprobe 跟蹤 368 10.5 uprobe 372 10.5.1 創(chuàng)建單行程序測試uprobe 372 10.5.2 eBPF 中創(chuàng)建 uprobe 跟蹤 373 10.5.3 bashreadline 程序 377 10.6 USDT 379 10.6.1 在 BCC 中使用USDT 379 10.6.2 在 libbpf 中使用USDT 384 10.7 本章小結(jié) 387 第 11 章 eBPF 內(nèi)核輔助方法 38811.1 如何查閱內(nèi)核輔助方法 388 11.2 輔助方法的實(shí)現(xiàn)原理 389 11.3 eBPF 內(nèi)核輔助方法分類 392 11.3.1 網(wǎng)絡(luò)相關(guān)的輔助方法 392 11.3.2 數(shù)據(jù)處理類輔助方法 396 11.3.3 跟蹤相關(guān)的輔助方法 398 11.3.4 系統(tǒng)功能性輔助方法 399 11.4 常用的 eBPF 內(nèi)核輔助方法 401 11.5 本章小結(jié) 404 第 12 章 Linux 性能分析 40512.1 CPU 406 12.1.1 CPU 基礎(chǔ)知識 406 12.1.2 傳統(tǒng) CPU 分析工具 409 12.1.3 eBPF 相關(guān)分析工具 412 12.1.4 CPU 分析策略 413 12.2 內(nèi)存 414 12.2.1 內(nèi)存基礎(chǔ)知識 414 12.2.2 傳統(tǒng)內(nèi)存分析工具 419 12.2.3 eBPF 內(nèi)存分析工具 419 12.2.4 內(nèi)存分析方法 420 12.3 磁盤 I/O 420 12.3.1 磁盤 I/O 基礎(chǔ)知識 420 目錄- 5 - 12.3.2 傳統(tǒng)分析工具 423 12.3.3 BCC 中的分析工具 423 12.3.4 磁盤性能分析方法 423 12.4 網(wǎng)絡(luò) 424 12.4.1 網(wǎng)絡(luò)基礎(chǔ)知識 424 12.4.2 傳統(tǒng)網(wǎng)絡(luò)分析工具 426 12.4.3 eBPF 網(wǎng)絡(luò)分析工具 426 12.5 常用分析方法和案例 427 12.6 本章小結(jié) 428 第 13 章 eBPF 實(shí)戰(zhàn)應(yīng)用 42913.1 在網(wǎng)絡(luò)安全中的應(yīng)用 429 13.2 在軟件動態(tài)分析中的應(yīng)用 432 13.3 在安全環(huán)境增強(qiáng)中的應(yīng)用 439 13.4 在網(wǎng)絡(luò)數(shù)據(jù)處理中的應(yīng)用 443 13.5 在系統(tǒng)與云原生安全中的應(yīng)用 446 13.6 本章小結(jié) 448
展開全部

eBPF開發(fā)指南 從原理到應(yīng)用 相關(guān)資料

eBPF 作為 Linux 內(nèi)核的一項(xiàng)革命性技術(shù),以輕量級方式構(gòu)建了應(yīng)用與內(nèi)核的通道。然而,這項(xiàng)技術(shù)的學(xué)習(xí)和精通并非易事,目前市面上缺少一本全面覆蓋從基礎(chǔ)到高級的系統(tǒng)教程。本書從 eBPF 的基本概念出發(fā),深入探討其架構(gòu)、編程接口和實(shí)際應(yīng)用,旨在幫助讀者全面掌握 eBPF 程序開發(fā)流程,并在實(shí)際應(yīng)用中得心應(yīng)手。—— 陳莉君 西安郵電大學(xué)教授

eBPF開發(fā)指南 從原理到應(yīng)用 作者簡介

豐生強(qiáng) 獨(dú)立軟件安全研究員, 資深軟件安全專家,ISC2016 安全訓(xùn)練營獨(dú)立講師,擁有豐富的軟件安全實(shí)戰(zhàn)經(jīng)驗(yàn)。自2008年起,在安全雜志《黑客防線》上發(fā)表技術(shù)文章, 活躍于國內(nèi)各大軟件安全論壇,具有深厚的行業(yè)影響力。著有《Android 軟件安全與逆向分析》《macOS 軟件安全與逆向分析》等熱銷圖書,深受讀者喜愛。 李泊冰 安全專家,資深程序員,專注于移動安全研究。擁有近 10 年的行業(yè)經(jīng)驗(yàn),擅長軟件安全攻防對抗,多次從零開始構(gòu)建企業(yè)移動安全體系,具備豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。曾在國內(nèi)多家互聯(lián)網(wǎng)公司任職,涉及電商、短視頻、游戲、殺毒軟件等多個(gè)領(lǐng)域。業(yè)余時(shí)間致力于軟件與系統(tǒng)底層技術(shù)的研究。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 999范文网_优质范文下载写作帮手 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 上海诺狮景观规划设计有限公司| 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 许昌奥仕达自动化设备有限公司| 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 瓶盖扭矩测试仪-瓶盖扭力仪-全自动扭矩仪-济南三泉中石单品站 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 魔方网-培训咨询服务平台| 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 高压负荷开关-苏州雷尔沃电器有限公司 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 |