Harnessing eBPF and XDP for DDoS Mitigation: A Rust Adventure with rust-aya
DDoS Mitigation with XDP and Rust: Dive into a Rust-based eBPF program for redirecting UDP flood attacks to a honeypot. This hands-on guide demonstrates the potent synergy of XDP and Rust in network security, offering a practical approach to packet manipulation and cybersecurity.
Beginner's Guide to XDP: A Journey Through Crafting XDP-Based Firewall with BCC
Step into the world of eBPF/XDP with this beginner's guide. Learn to build a simple SSH firewall, utilizing XDP's capabilities for secure, incoming network traffic management!
Beyond Observability: Modifying Syscall Behavior with eBPF - My Precious Secret Files
This article dives into a subtle application of eBPF, extending beyond its conventional use for observability to demonstrate its capability to modify system call behavior, showcased through a simple application designed to safeguard our precious files.
IPv4 Socket Surveillance - Tracing using kprobe, kretprobe and maps with BCC
Through a simple app, this post illustrates real-time monitoring of network activities triggered by syscalls, utilizing kprobe, kretprobe, and maps. It highlights the synergy between eBPF and these probing tools, showcasing a practical approach to understanding network operations.
The beginning of my eBPF Journey - Kprobe Adventures with BCC
Embark on a fascinating journey into the realm of eBPF programming through this blog post. We kickstart our exploration with Kprobe, a dynamic tracing tool in the Linux kernel, by delving into a simple 'Hello World' and other experiment using BCC.
Optimizing Large File Transfers in Linux with Go - An Exploration of TCP and Syscall
Explore efficient large file transfers in Linux using Go, focusing on minimizing data copies and context switches via the sendfile syscall.
Understanding Unix Domain Sockets in Golang
Delve into the workings of Unix domain sockets in Golang, contrasting them with network sockets. Explore their creation, efficient inter-process communication on the same machine, and practical code examples demonstrating a simple echo server setup.
Socket sharding in Linux example with Go
Uncover socket sharding in Linux using Go, enabling multiple sockets to bind to the same IP and port for enhanced load balancing. The article provides insights into setting the SO_REUSEPORT socket option, creating a ListenConfig instance in Go.
How to setup simple load balancing with IPVS, demo with docker
Explore setting up simple IPVS load balancing on Linux with a hands-on Docker demo, covering tool installation, virtual service creation, and verification.
How BigCache avoids expensive GC cycles and speeds up concurrent access in Go
Uncover how BigCache in Go alleviates expensive GC cycles and bolsters concurrent access, using sharding for data distribution and byte arrays to minimize GC interference, enhancing cache performance and application responsiveness.
Implementation of Dijkstra using heap in Go
Dive into implementing Dijkstra's Algorithm using a min-heap in Go, focusing on the creation of a priority queue to efficiently find the shortest path between nodes. The guide includes detailed code for heap and graph logic, demonstrating a practical approach to Dijkstra's Algorithm in Go.