
प्रति-प्रक्रिया नेटवर्क निगरानी आपके टर्मिनल के लिए गहन पैकेट निरीक्षण के साथ। क्रॉस-प्लेटफ़ॉर्म, सैंडबॉक्स्ड।
आपके टर्मिनल के लिए प्रति-प्रक्रिया नेटवर्क मॉनिटरिंग: डीप पैकेट इंस्पेक्शन के साथ लाइव TCP, UDP और QUIC कनेक्शन, डिफ़ॉल्ट रूप से सैंडबॉक्स्ड।
आपकी मशीन द्वारा किए जाने वाले हर कनेक्शन, उसका स्वामी, और वह किस प्रोटोकॉल का उपयोग कर रहा है, इसकी वास्तविक समय में दृश्यता। कोई tcpdump, X11 फ़ॉरवर्डिंग, या root पाइपिंग नहीं।
netstat / ss लाइव स्थिति नहीं दिखा सकते।--pcapng-export प्रति-पैकेट टिप्पणियों के रूप में प्रक्रिया, PID, दिशा, DPI/SNI और GeoIP एम्बेडेड के साथ Wireshark-तैयार कैप्चर लिखता है। इसे Wireshark में खोलें, और हर पैकेट पहले से ही अपनी स्वामी प्रक्रिया का नाम बता देता है, बिना किसी पोस्ट-प्रोसेसिंग के। ऑफ़लाइन सहसंबंध के लिए JSONL साइडकार के साथ क्लासिक --pcap-export भी उपलब्ध है।t टॉगल करें।port:, , , , , , , साथ ही के माध्यम से regex।RustNet सरल कनेक्शन टूल्स (netstat, ss) और पैकेट विश्लेषकों (Wireshark, tcpdump) के बीच की खाई को भरता है:
RustNet पैकेट कैप्चर टूल्स का पूरक है। यह देखने के लिए RustNet का उपयोग करें कि कौन क्या कनेक्शन बना रहा है। सीधे Wireshark निरीक्षण के लिए, --pcapng-export PID/प्रक्रिया संदर्भ के साथ लाइव बेस्ट-इफ़ोर्ट पैकेट टिप्पणियाँ लिखता है। क्लीनअप-समय सहसंबंध के लिए, --pcap-export के साथ JSONL साइडकार और वैकल्पिक scripts/pcap_enrich.py का उपयोग करें। विवरण के लिए देखें PCAP Export और Comparison with Similar Tools।
ratatui, libpcap, eBPF (libbpf-rs), DashMap, crossbeam, ring, MaxMind GeoLite2 और Landlock पर निर्मित। पूर्ण निर्भरता विवरण के लिए देखें ARCHITECTURE.md।
RustNet बेहतर प्रदर्शन और कम ओवरहेड प्रक्रिया पहचान के लिए Linux पर डिफ़ॉल्ट रूप से कर्नेल eBPF प्रोग्राम का उपयोग करता है।
प्रक्रिया नाम:
comm नाम (एक कर्नेल फ़ील्ड जो 16 वर्णों तक सीमित है) रिकॉर्ड करता है, इसलिए मल्टी-थ्रेडेड एप्लिकेशन "Socket Thread" जैसे थ्रेड नामों के बजाय मुख्य प्रक्रिया नाम दिखाते हैं/proc/<tgid>/comm के माध्यम से वर्तमान नाम को फिर से हल करता है, एक्ज़िक्यूटेबल के फ़ाइल नाम से comm-ट्रंकेटेड नामों को पुनर्प्राप्त करता है (जैसे "chromium-browse" "chromium-browser" बन जाता है), और Details दृश्य में दिखाए गए पूर्ण एक्ज़िक्यूटेबल पथ को हल करता हैफ़ॉलबैक व्यवहार:
eBPF को अक्षम करने और केवल procfs मोड का उपयोग करने के लिए, इस प्रकार बिल्ड करें:
cargo build --release --no-default-features
तकनीकी जानकारी के लिए देखें ARCHITECTURE.md।
RustNet प्रक्रिया-स्तरीय ट्रैफ़िक लेखांकन को वास्तविक समय नेटवर्क इंटरफ़ेस आँकड़ों के साथ जोड़ता है:
3 दबाएँ): प्रक्रियाओं को Egress (TX) या Ingress (RX) द्वारा रैंक करता है, जिसमें रिटेन्ड और रोलिंग ट्रैफ़िक, दरें, हिस्से, कनेक्शन और गंतव्य शामिल हैंi दबाएँ): हर इंटरफ़ेस के लिए मूल व्यापक मेट्रिक्स दिखाता हैइंटरफ़ेस आँकड़ों की व्याख्या और प्लेटफ़ॉर्म-विशिष्ट व्यवहार पर विस्तृत दस्तावेज़ के लिए देखें USAGE.md।
उपलब्ध मेट्रिक्स:
आँकड़े न्यूनतम प्रदर्शन प्रभाव के साथ एक पृष्ठभूमि थ्रेड में हर 2 सेकंड में एकत्र किए जाते हैं।
Homebrew (macOS / Linux):
brew install rustnet
Ubuntu (22.04 LTS+) / Linux Mint 21+ / Pop!_OS 22.04+:
sudo add-apt-repository ppa:domcyrus/rustnet
# on Pop!_OS: sudo apt-manage add ppa:domcyrus/rustnet
sudo apt update && sudo apt install rustnet
Fedora (42+):
sudo dnf copr enable domcyrus/rustnet
sudo dnf install rustnet
openSUSE Tumbleweed:
sudo zypper addrepo https://download.opensuse.org/repositories/home:/domcyrus:/rustnet/openSUSE_Tumbleweed/home:domcyrus:rustnet.repo
sudo zypper refresh
sudo zypper install rustnet
Arch Linux:
sudo pacman -S rustnet
Nix / NixOS:
nix-shell -p rustnet
# Then inside the shell: sudo rustnet
From crates.io:
cargo install rustnet-monitor
Windows (Chocolatey):
# Run in Administrator PowerShell
# Requires Npcap (https://npcap.com) installed with "WinPcap API-compatible Mode" enabled
choco install rustnet
अन्य प्लेटफ़ॉर्म:
पैकेट कैप्चर के लिए उन्नत विशेषाधिकारों की आवश्यकता होती है:
# Quick start (all platforms)
sudo rustnet
# Linux: Grant capabilities to run without sudo (recommended)
sudo setcap 'cap_net_raw,cap_bpf,cap_perfmon+eip' $(which rustnet)
rustnet
सामान्य विकल्प:
rustnet -i eth0 # Specify network interface
rustnet --show-localhost # Show localhost connections
rustnet --no-resolve-dns # Disable reverse DNS lookups (enabled by default)
rustnet -r 500 # Set refresh interval (ms)
rustnet --theme tokyo-night # Theme: muted (default), vivid, catppuccin-mocha, tokyo-night, gruvbox, nord
rustnet --pcapng-export capture.pcapng # Annotated PCAPNG for Wireshark
थीम और प्रति-रंग ओवरराइड ~/.config/rustnet/config.toml में भी सेट किए जा सकते हैं; --theme प्राथमिकता लेता है। स्कीमा के लिए देखें USAGE.md।
विस्तृत अनुमति सेटअप के लिए देखें INSTALL.md और पूर्ण विकल्पों के लिए USAGE.md।
यदि आप capabilities सेट करते हैं लेकिन TUI अभी भी
eBPF unavailableदिखाता है, तो समस्या निवारण अनुभाग में eBPF Unavailable Despite Capabilities Being Set देखें।
विस्तृत कीबोर्ड नियंत्रण और नेविगेशन युक्तियों के लिए देखें USAGE.md।
त्वरित फ़िल्टरिंग उदाहरण:
/google # Search for "google" anywhere
/port:443 # Filter by port
/process:firefox # Filter by process
/state:established # Filter by connection state
/dport:443 sni:github.com # Combine filters
सॉर्टिंग:
s दबाएँS (Shift+s) दबाएँs दबाएँ (संयुक्त अप+डाउन गति से सॉर्ट करता है)पूर्ण फ़िल्टरिंग सिंटैक्स और सॉर्टिंग गाइड के लिए देखें USAGE.md।
कीवर्ड फ़िल्टर:
port:44 - "44" वाले पोर्ट (443, 8080, 4433)sport:80 - "80" वाले सोर्स पोर्टdport:443 - "443" वाले डेस्टिनेशन पोर्टsrc:192.168 - "192.168" वाले सोर्स IPdst:github.com - "github.com" वाले गंतव्यprocess:ssh - "ssh" वाले प्रक्रिया नामsni:api - "api" वाले SNI होस्टनामapp:openssh - OpenSSH का उपयोग करने वाले SSH कनेक्शनstate:established - प्रोटोकॉल स्थिति से फ़िल्टर करेंproto:tcp - प्रोटोकॉल प्रकार से फ़िल्टर करेंस्थिति फ़िल्टरिंग:
state:syn_recv - आधे-खुले कनेक्शन (SYN फ्लड डिटेक्शन)state:established - केवल स्थापित कनेक्शनRustNet कनेक्शन हटाने से पहले स्मार्ट टाइमआउट और विज़ुअल चेतावनियों का उपयोग करता है:
विज़ुअल स्टेलनेस संकेतक:
प्रोटोकॉल-जागरूक टाइमआउट:
Initial/Handshaking: 60 सेकंडउदाहरण: एक HTTP कनेक्शन 7.5 मिनट पर पीला, 9 मिनट पर लाल हो जाता है, और 10 मिनट पर हटा दिया जाता है।
पूर्ण टाइमआउट विवरण के लिए देखें USAGE.md।
योगदान का स्वागत है! योगदान कैसे करें, इसके दिशानिर्देशों के लिए कृपया देखें CONTRIBUTING.md।
इस परियोजना में योगदान देने वाले लोगों की सूची के लिए देखें CONTRIBUTORS.md।
यह परियोजना Apache License, Version 2.0 के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
tshark/wireshark/tcpdump, sniffnet, netstat, ss, iftop और bandwhich जैसे टूल्स से प्रेरितबेहतर संगठन के लिए कुछ अनुभाग समर्पित फ़ाइलों में स्थानांतरित कर दिए गए हैं:
src:dst:sni:process:state:proto:/(?i)pattern/kubernetes सुविधा): कनेक्शन उनके pod, namespace और container से मैप किए जाते हैं, जो विवरण फलक, JSON/PCAPNG एक्सपोर्ट और pod:, ns:, container: फ़िल्टर में दिखाए जाते हैं। आधिकारिक Docker इमेज में सक्षम; क्लस्टर पर, इसे अस्थायी डीबग pod के रूप में चलाने के लिए kubectl-rustnet प्लगइन का उपयोग करें। देखें USAGE.md।| Overview लाइव आँकड़ों और स्पार्कलाइन के साथ कनेक्शन तालिका ![]() | Details प्रति-कनेक्शन SNI, सिफर, GeoIP, DPI ![]() |
| Graph ट्रैफ़िक चार्ट, ऐप वितरण, शीर्ष प्रक्रियाएँ ![]() | Activity प्रक्रिया egress/ingress, 60-सेकंड कवरेज, आरोपण और रिमोट पीयर्स ![]() |
| Key | Action |
|---|
q | बाहर निकलें (पुष्टि के लिए दो बार दबाएँ) |
Ctrl+C | तुरंत बाहर निकलें |
x | सभी कनेक्शन साफ़ करें (पुष्टि के लिए दो बार दबाएँ) |
Tab या ] | अगला टैब |
Shift+Tab या [ | पिछला टैब |
1–5 | Overview / Details / Activity / Graph / Help पर जाएँ |
↑/k ↓/j | ऊपर/नीचे नेविगेट करें |
g G | पहले/अंतिम कनेक्शन पर जाएँ |
Enter | कनेक्शन विवरण देखें |
Esc | वापस जाएँ या फ़िल्टर साफ़ करें |
c | रिमोट पता कॉपी करें |
p | सेवा नाम/पोर्ट टॉगल करें |
d | Overview पर होस्टनाम/IP या Activity पर Egress/Ingress टॉगल करें |
s S | सॉर्ट कॉलम साइकिल करें / दिशा टॉगल करें |
a | प्रक्रिया समूहीकरण टॉगल करें |
Space | प्रक्रिया समूह का विस्तार/संक्षेप करें |
←/→ या h/l | समूह संक्षेप/विस्तार करें |
PageUp/PageDown या Ctrl+B/F | पेज नेविगेशन |
t | ऐतिहासिक (बंद) कनेक्शन टॉगल करें |
i | Overview पर सिस्टम जानकारी या Activity पर इंटरफ़ेस विवरण टॉगल करें |
r | दृश्य रीसेट करें (समूहीकरण, सॉर्ट, फ़िल्टर) |
/ | फ़िल्टर मोड दर्ज करें |
h | सहायता टॉगल करें |
state:quic_connected - सक्रिय QUIC कनेक्शनstate:dns_query - DNS क्वेरी कनेक्शनसंयुक्त उदाहरण:
sport:80 process:nginx - पोर्ट 80 से Nginx कनेक्शनdport:443 sni:google.com - Google के लिए HTTPSprocess:firefox state:quic_connected - Firefox QUIC कनेक्शनdport:22 app:openssh state:established - स्थापित OpenSSH कनेक्शन