10 releases
0.2.2 | Oct 23, 2024 |
---|---|
0.2.1 | Oct 15, 2024 |
0.1.10 | Oct 2, 2024 |
0.1.4 | Sep 27, 2024 |
#700 in Network programming
580 downloads per month
605KB
177 lines
use epbf program type BPF_PROG_TYPE_SOCKET_FILTER
to monitor the network traffic of the host.
Example
use std::mem::MaybeUninit;
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut open_object = MaybeUninit::uninit(); // make the ebpf prog lives as long as the process.
let socket_filter =
socket_filter::TransmitCounter::new(&mut open_object, socket_filter::IGNORED_IFACE)?;
loop {
println!(
"current bytes: {} {}",
socket_filter.get_egress(),
socket_filter.get_ingress()
);
std::thread::sleep(std::time::Duration::from_secs(1));
}
}
lib.rs
:
socket_filter
socket_filter
is a library to monitor the network traffic of a network interface. By passing a list of interface names to this library, it will attach to the interfaces and monitor the network traffic of the interfaces.
Dependencies
~15MB
~314K SLoC