You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-45
Original file line number
Diff line number
Diff line change
@@ -13,80 +13,76 @@ This tutorial **does not cover complex concepts and scenario introductions**. It
13
13
14
14
The tutorial focuses on eBPF examples in observability, networking, security, and more.
15
15
16
-
#### [**中文版在这里**](README.zh.md)
16
+
[**中文版在这里**](README.zh.md)
17
17
18
18
## Table of Contents
19
19
20
20
### Getting Started Examples
21
21
22
22
This section contains simple eBPF program examples and introductions. It primarily utilizes the `eunomia-bpf` framework to simplify development and introduces the basic usage and development process of eBPF.
23
23
24
-
-[lesson 0-introduce](src/0-introduce/README_en.md) Introduction to Core Concepts and Tools
25
-
-[lesson 1-helloworld](src/1-helloworld/README_en.md) Hello World, Framework and Development
26
-
-[lesson 2-kprobe-unlink](src/2-kprobe-unlink/README_en.md) Monitoring unlink System Calls with kprobe
27
-
-[lesson 3-fentry-unlink](src/3-fentry-unlink/README_en.md) Monitoring unlink System Calls with fentry
28
-
-[lesson 4-opensnoop](src/4-opensnoop/README_en.md) Capturing Opening Files and Filter with Global Variables
29
-
-[lesson 5-uprobe-bashreadline](src/5-uprobe-bashreadline/README_en.md) Capturing readline Function Calls with Uprobe
30
-
-[lesson 6-sigsnoop](src/6-sigsnoop/README_en.md) Capturing Signal Sending and Store State with Hash Maps
31
-
-[lesson 7-execsnoop](src/7-execsnoop/README_en.md) Capturing Process Execution, Output with perf event array
32
-
-[lesson 8-exitsnoop](src/8-exitsnoop/README_en.md) Monitoring Process Exit Events, Output with Ring Buffer
33
-
-[lesson 9-runqlat](src/9-runqlat/README_en.md) Capturing Scheduling Latency and Recording as Histogram
34
-
-[lesson 10-hardirqs](src/10-hardirqs/README_en.md) Capturing Interrupts with hardirqs or softirqs
24
+
-[lesson 0-introduce](src/0-introduce/README.md) Introduction to Core Concepts and Tools
25
+
-[lesson 1-helloworld](src/1-helloworld/README.md) Hello World, Framework and Development
26
+
-[lesson 2-kprobe-unlink](src/2-kprobe-unlink/README.md) Monitoring unlink System Calls with kprobe
27
+
-[lesson 3-fentry-unlink](src/3-fentry-unlink/README.md) Monitoring unlink System Calls with fentry
28
+
-[lesson 4-opensnoop](src/4-opensnoop/README.md) Capturing Opening Files and Filter with Global Variables
29
+
-[lesson 5-uprobe-bashreadline](src/5-uprobe-bashreadline/README.md) Capturing readline Function Calls with Uprobe
30
+
-[lesson 6-sigsnoop](src/6-sigsnoop/README.md) Capturing Signal Sending and Store State with Hash Maps
31
+
-[lesson 7-execsnoop](src/7-execsnoop/README.md) Capturing Process Execution, Output with perf event array
32
+
-[lesson 8-exitsnoop](src/8-exitsnoop/README.md) Monitoring Process Exit Events, Output with Ring Buffer
33
+
-[lesson 9-runqlat](src/9-runqlat/README.md) Capturing Scheduling Latency and Recording as Histogram
34
+
-[lesson 10-hardirqs](src/10-hardirqs/README.md) Capturing Interrupts with hardirqs or softirqs
35
+
35
36
### Advanced Documents and Examples
36
37
37
38
We start to build complete eBPF projects mainly based on `libbpf` and combine them with various application scenarios for practical use.
38
39
39
-
-[lesson 11-bootstrap](src/11-bootstrap/README_en.md) Develop User-Space Programs with libbpf and Trace exec() and exit()
40
-
-[lesson 12-profile](src/12-profile/README_en.md) Using eBPF Program Profile for Performance Analysis
41
-
-[lesson 13-tcpconnlat](src/13-tcpconnlat/README_en.md) Statistics of TCP Connection Delay with libbpf
42
-
-[lesson 14-tcpstates](src/14-tcpstates/README_en.md) Recording TCP Connection Status and TCP RTT
43
-
-[lesson 15-javagc](src/15-javagc/README_en.md) Capturing User-Space Java GC Duration Using USDT
-[lesson 17-biopattern](src/17-biopattern/README.md) Count Random/Sequential Disk I/O
47
+
-[lesson 18-further-reading](src/18-further-reading/README.md) More Reference Materials: papers, projects
48
+
-[lesson 19-lsm-connect](src/19-lsm-connect/README.md) Security Detection and Defense using LSM
49
+
-[lesson 20-tc](src/20-tc/README.md) tc Traffic Control
50
+
-[lesson 21-xdp](src/21-xdp/README.md) Programmable Packet Processing with XDP
51
+
50
52
### In-Depth Topics
51
53
52
54
This section covers advanced topics related to eBPF, including using eBPF programs on Android, possible attacks and defenses using eBPF programs, and complex tracing. Combining the user-mode and kernel-mode aspects of eBPF can bring great power (as well as security risks).
53
55
54
-
55
-
56
56
Android:
57
57
58
-
-[lesson 22-android](src/22-android/README_en.md) Using eBPF Programs on Android
59
-
58
+
-[lesson 22-android](src/22-android/README.md) Using eBPF Programs on Android
60
59
61
60
Networking:
62
61
63
-
-[lesson 23-http](src/23-http/README_en.md) L7 Tracing with eBPF: HTTP and Beyond via Socket Filters and Syscall Tracepoints
64
-
-[lesson 29-sockops](src/29-sockops/README_en.md) Accelerating Network Request Forwarding with Sockops
65
-
-[lesson 41-xdp-tcpdump](src/41-xdp-tcpdump/README_en.md) Capturing TCP Information with XDP
0 commit comments