Skip to content
/ oryx Public

๐Ÿ•ต๏ธโ€โ™‚๏ธ TUI for sniffing network traffic using eBPF on Linux

License

Notifications You must be signed in to change notification settings

pythops/oryx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

91 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TUI for sniffing network traffic using eBPF

๐Ÿ“ธ Demo

โœจ Features

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

๐Ÿš€ Supported protocols

Transport Layer

  • TCP
  • UDP
  • SCTP

Network Layer

  • IP (v4, v6)
  • ICMP (v4, v6)
  • IGMP (v1, v2, v3)

Link Layer

  • ARP

๐Ÿ’ก Prerequisites

A Linux based OS.

Ideally with Linux kernel version 6.10 or higher to ensure all the features to work properly.

Note

If you're using Debian or Ubuntu, ensure you're on the following minimum versions:

  • Debian: Version 13 (Trixie) or newer
  • Ubuntu: Version 24.04 (Noble) or newer

Fonts

You might need to install nerdfonts for the icons to be displayed correctly.

๐Ÿš€ Installation

๐Ÿ“ฅ Binary release

You can download the pre-built binaries from the release page release page

๐ŸงArch Linux

You can install oryx from the extra repository with using pacman:

pacman -S oryx

โš’๏ธ Build from source

To build oryx:

1. Install Rust nightly toolchain

rustup toolchain install nightly --component rust-src

2. Install bpf-linker

Check bpf-linker Installation section .

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.

โœ๏ธ Credits

Logo designed by @ling0x

โš–๏ธ License

GPLv3

About

๐Ÿ•ต๏ธโ€โ™‚๏ธ TUI for sniffing network traffic using eBPF on Linux

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 7