Oryx: Công cụ giám sát traffic mạng realtime trong terminal

Có những lúc bạn SSH vào server và chỉ muốn biết nhanh: máy này đang nói chuyện với ai, port nào đang chiếm, có outbound lạ không… Nếu dùng tcpdump thì output dài, khó nhìn. Wireshark thì mạnh nhưng GUI, không phải lúc nào cũng tiện trên server.

Oryx sinh ra đúng cho mấy tình huống đó: một giao diện chạy trong terminal (TUI) để quan sát traffic mạng theo thời gian thực nhờ eBPF trên Linux.

019bf09b-09d6-7548-95a9-3c11edea3caa

Oryx làm được gì?

Theo repo, Oryx tập trung vào 5 mảng chính:

  • Xem traffic realtime + trực quan trong TUI
  • Thống kê traffic (nhìn bức tranh tổng quan)
  • Firewall (quản lý rule ngay trong TUI)
  • Metrics explorer (xem chỉ số)
  • Tìm nhanh kiểu gõ vài chữ là lọc (fuzzy search)

Ngoài ra phần key bindings cho thấy Oryx có luồng dùng rất thực dụng: chọn interface, filter, xem chi tiết dòng đang chọn, export capture, và thao tác rule firewall.

Mình thấy Oryx hợp kiểu kiểm tra nhanh chóng trên server:

  • Server chậm/timeout: muốn xem có traffic bất thường không
  • Nghi bị scan port/request với tần suất cao
  • Nghi có outbound lạ (data exfiltration, malware gọi ra ngoài…)
  • On-call cần nhìn nhanh tình hình mà không muốn dựng cả bộ Wireshark

eBPF thường được dùng cho monitoring mạng vì có thể lọc/thu thập trong kernel với overhead thấp hơn kiểu kéo cả đống packet lên user-space rồi mới xử lý (tùy cách bạn implement).

Nó hoạt động ra sao

Nói kiểu nôm na:

  • Oryx chạy các chương trình eBPF trong kernel để thu thập dữ liệu traffic
  • Đẩy dữ liệu cần thiết lên user-space
  • TUI hiển thị realtime + thống kê + cho bạn filter/search/inspect

Vì đụng tới quan sát mạng ở mức hệ thống nên thường bạn sẽ chạy bằng quyền sudo.

Cài đặt nhanh

Bước 1: Kiểm tra Ubuntu + kernel

Bước này kiểm tra xem để khỏi cài xong chạy lỗi

Mở Terminal, chạy:

lsb_release -d
uname -r

Như repo khuyến nghị:

  • Linux kernel 6.10+ để đảm bảo đầy đủ tính năng
  • Debian 13 hoặc Ubuntu 24.04 trở lên (gợi ý)

Bước 2: Xem máy bạn là Intel/AMD hay ARM

uname -m
  • Nếu ra x86_64 -> máy Intel/AMD (phổ biến nhất)
  • Nếu ra aarch64 / arm64 -> máy ARM

Bước 4: Tải file Oryx đúng loại CPU

  • Nếu máy bạn là Intel/AMD (x86_64)
curl -L -o oryx https://github.com/pythops/oryx/releases/latest/download/oryx-x86_64-unknown-linux-musl
  • Nếu máy bạn là ARM (aarch64/arm64)
curl -L -o oryx https://github.com/pythops/oryx/releases/latest/download/oryx-aarch64-unknown-linux-musl

Bước 5: Cấp quyền chạy

chmod +x oryx
sudo mv oryx /usr/local/bin/oryx

Kiểm tra:

oryx --help

Bước 6: Chạy Oryx

Oryx cần quyền cao để làm việc với eBPF nên chạy bằng sudo:

sudo oryx

Nếu cài xong mà chạy bị lỗi

  • Lỗi liên quan eBPF/kernel thường do kernel quá cũ. Repo khuyến nghị kernel 6.10+.
  • Nếu link tải báo 404, bạn vào trang releases của repo và tải đúng file theo CPU.

Trải nghiệm cơ bản

Giả sử với tình huống Server tự nhiên chậm, API timeout, nghi có traffic lạ

Xác định nhanh:

  • Server đang chiếm ở kết nối nào (IP/port nào)?
  • Có dấu hiệu scan/bắn request dồn dập không?
  • Nếu đúng là có máy lạ gây rối, mình có thể chuẩn bị rule chặn nó không?

Bước 1: Mở Oryx

sudo oryx

Bạn dùng:

  • Tab / Shift+Tab để đổi khu vực
  • ? để mở help nếu quên phím

Bước 2: Chọn đúng card mạng để soi

Trong phần interface:

  • dùng Space chọn interface chính (thường là eth0, ens...)
  • bỏ chọn lo, docker bridge… nếu không cần (để đỡ nhiễu)
019bd717-7707-7821-b11d-d73b868fe56a

Bước 3: Lọc nhanh để đỡ loạn

Ví dụ API của bạn chạy HTTPS, bạn muốn tập trung vào 443:

  • bấm f để bật các filter liên quan (tuỳ UI hiển thị)
  • Tab / Shift+Tab để đổi khu vực
  • Space để chọn hoặc bỏ chọn
019bd717-7707-7432-9f58-692a9f49cb5f

Bước 4: Tìm vết bằng search

Bấm / rồi gõ:

  • :443 hoặc 443
  • hoặc gõ một IP/domain bạn nghi ngờ (nếu bạn đã thấy thoáng qua)

Oryx sẽ lọc nhanh để bạn nhảy tới đúng nhóm traffic.

019bd717-7707-73e2-83f9-0f0c2bd841c3

Bước 5: Chọc sâu 1 dòng nghi ngờ

Quay lại danh sách traffic:

  • chọn 1 dòng lạ (IP lạ, port lạ, kết nối lặp lại)
  • bấm i để mở inspection

Bạn sẽ đọc được chi tiết hơn đây có phải retry liên tục hay do handshake bất thường hay là flow dồn dập không.

019bd717-7707-795f-a5ee-cef6169b7c63

Bước 6: Nhìn thống kê để biết cái gì đang chiếm sóng

Chuyển sang Statistics:

  • xem top IP/port cái nào đứng đầu
  • nhìn pattern bất thường: 1 IP tạo quá nhiều kết nối, hoặc quá nhiều request ngắn liên tục

Đây là bước giúp bạn trả lời câu: chậm vì spike traffic hay vì upstream die?

019bd717-7707-7daf-a1c2-906c9dde1767

Bước 7: Mở Metrics để định lượng

Bạn bấm Tab để chuyển qua Metrics explorer: nhìn các chỉ số tổng quan (tăng đột biến connections/packets/flow tuỳ màn hình)

019bd717-7707-7261-b040-e431d26ba7ef
Bước 8: Export capture

Khi bạn thấy đúng thời điểm server đang bị chiếm bấm phím S

Oryx sẽ lưu lại capture vào thư mục ~/oryx/capture.

019bd717-7707-7da1-bf2c-d0a5e8b55cfc

Oryx khác gì so với tool quen thuộc?

  • So với tcpdump: tcpdump rất mạnh nhưng output dạng text raw. Oryx cho bạn giao diện trực quan + thống kê + tìm nhanh, hợp để soi nhanh trên server.
  • So với Wireshark: Wireshark mạnh ở phân tích sâu từng gói (GUI), còn Oryx chỉ mạnh ở tốc độ quan sát realtime trong terminal.

Chốt lại: có nên thử không?

Nếu bạn hay SSH vào Linux server và cần một tool nhìn nhanh traffic + lọc + thống kê ngay trong terminal, Oryx đáng thử. Còn nếu bạn cần phân tích pcap cực sâu, decode protocol chi tiết… thì Wireshark vẫn là trùm cuối, Oryx là tool để bạn bắt bệnh nhanh trước đã.

Thông tin nổi bật

Sự kiện phát trực tiếp​

Event Thumbnail

Báo cáo quan trọng

Article Thumbnail
Article Thumbnail
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Tiêu điểm chuyên gia