An open API service indexing awesome lists of open source software.

https://github.com/pythops/oryx

πŸ•΅οΈβ€β™‚οΈ TUI for sniffing network traffic using eBPF on Linux
https://github.com/pythops/oryx

bpf ebpf firewall kernel linux network observability ratatui rust security sniffing sysadmin tui

Last synced: about 15 hours ago
JSON representation

πŸ•΅οΈβ€β™‚οΈ TUI for sniffing network traffic using eBPF on Linux

Awesome Lists containing this project

README

        


TUI for sniffing network traffic using eBPF


## πŸ“Έ Demo

![](https://github.com/user-attachments/assets/54a21ac3-6c00-4700-8e4e-8f13e98cc189)

## ✨ Features

- Real-time traffic inspection and visualization.
- Comprehensive Traffic Statistics.
- Firewall functionalities.
- Metrics explorer.
- Fuzzy search.

## πŸ’‘ Prerequisites

A Linux based OS.

> [!NOTE]
> You might need to install [nerdfonts](https://www.nerdfonts.com/) for the icons to be displayed correctly.

## πŸš€ Installation

### πŸ“₯ Binary release

You can download the pre-built binaries from the release page [release page](https://github.com/pythops/oryx/releases)

### 🐧Arch Linux

You can install `oryx` from the [AUR](https://aur.archlinux.org/packages/oryx) with using an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers).

```bash
paru -S oryx
```

### βš’οΈ Build from source

To build `oryx`:

#### 1. Install Rust nightly toolchain

```
rustup toolchain install nightly --component rust-src
```

#### 2. Install [bpf-linker](https://github.com/aya-rs/bpf-linker)

Check [bpf-linker Installation section](https://github.com/aya-rs/bpf-linker?tab=readme-ov-file#installation) .

#### 3. Build

```
cargo xtask build --release
```

This will produce an executable file at `target/release/oryx` that you can copy to a directory in your `$PATH`.

## πŸͺ„ Usage

Run the following command to start `oryx`:

```
sudo oryx
```

> [!NOTE]
> You can start `oryx` with args as well. Check `oryx --help` to see the available options

## ⌨️ Key Bindings

`?`: Show help.

`Tab` or `Shift + Tab`: Switch between different sections.

`j` or `Down` : Scroll down.

`k` or `Up`: Scroll up.

`esc`: Dismiss the different pop-ups and modes.

`q` or `ctrl + c`: Quit the app.

`Space`: Select/Deselect interface or filter.

`f`: Update the applied filters.

`ctrl + r`: Reset the app.

`ctrl + s`: Export the capture to `~/oryx/capture` file.

#### Inspection Section

`i`: Show more infos about the selected packet.

`/`: Start fuzzy search.

#### Firewall Section

`Space`: Toggle firewall rules status.

`n` : Add new firewall rule.

`e`: Edit a firewall rule.

`s`: Save firewall rules to `~/oryx/firewall.json`

`Enter`: Create or Save a firewall rule.

## βš–οΈ License

GPLv3