Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
network-monitor — रस्ट और GTK4 के साथ निर्मित एक रीयल-टाइम नेटवर्क कनेक्शन मॉनिटरिंग टूल, जो आधुनिक ग्राफिकल इंटरफ़ेस में सक्रिय कनेक्शनों को लाइव I/O आँकड़ों के साथ प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/grigio/network-monitor
सामान्य उपयोगिताएँपैकेट स्निफिंग और विश्लेषणनेटवर्क मैपिंगजानकारी एकत्र करनागोपनीयता
GitHubgrigio/network-monitor

network-monitor

रस्ट और GTK4 के साथ निर्मित एक रीयल-टाइम नेटवर्क कनेक्शन मॉनिटरिंग टूल, जो आधुनिक ग्राफिकल इंटरफ़ेस में सक्रिय कनेक्शनों को लाइव I/O आँकड़ों के साथ प्रदर्शित करता है।

रिपॉजिटरी देखें
2845442 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
# नेटवर्क मॉनिटर

![लिनक्स पर GNOME डेस्कटॉप पर नेटवर्क मॉनिटर डेमो](https://assets.kitploit.com/production/public/readmes/9883/ee8f839c4064b139e19ba818961f4ce859b5461a5eccf2d321c9a184533976b8.gif)

Rust और GTK4 के साथ बनाया गया एक रीयल-टाइम नेटवर्क कनेक्शन मॉनिटरिंग टूल, जो एक आधुनिक ग्राफिकल इंटरफ़ेस में लाइव I/O आंकड़ों के साथ सक्रिय कनेक्शन प्रदर्शित करता है।

[![rust](https://github.com/grigio/network-monitor/actions/workflows/rust.yml/badge.svg)](https://github.com/grigio/network-monitor/actions/workflows/rust.yml)
[![dependency status](https://deps.rs/repo/github/grigio/network-monitor/status.svg)](https://deps.rs/repo/github/grigio/network-monitor)


## विशेषताएँ

- **रीयल-टाइम मॉनिटरिंग**: सक्रिय नेटवर्क कनेक्शनों की लगातार निगरानी करता है
- **I/O आंकड़े**: प्रत्येक कनेक्शन के लिए लाइव अपलोड/डाउनलोड दर दिखाता है
- **प्रोसेस पहचान**: प्रत्येक कनेक्शन से जुड़े प्रोग्राम और PID को प्रदर्शित करता है
- **प्रोसेस क्रियाएँ**: किसी पंक्ति पर राइट-क्लिक करके उसका मान/कमांड कॉपी करें या उस प्रोसेस को
  किल करें जो कनेक्शन का स्वामी है (Terminate या Force Kill, पुष्टि के साथ)
- **स्थायी चयन**: चयनित पंक्ति रीफ्रेश के दौरान अपना हाइलाइट बनाए रखती है और
  स्टेटस स्ट्रिप में दिखाई जाती है
- **आधुनिक GTK4 UI**: Libadwaita स्टाइलिंग के साथ साफ़, उत्तरदायी ग्राफिकल इंटरफ़ेस
- **टर्मिनल UI (TUI)**: समान मॉनिटरिंग क्षमताओं वाला इंटरैक्टिव टर्मिनल इंटरफ़ेस
- **पता रिज़ॉल्यूशन**: सामान्य पतों (localhost, any, mDNS) को सरल बनाता है
- **कनेक्शन फ़िल्टरिंग**: साफ़ आउटपुट के लिए localhost कनेक्शनों को फ़िल्टर करता है
- **GNOME एकीकरण**: डॉक पिनिंग और डेस्कटॉप एकीकरण के लिए उचित WM क्लास समर्थन
- **दोहरी इंस्टॉलेशन**: उपयोगकर्ता-स्थानीय और सिस्टम-व्यापी दोनों इंस्टॉलेशन का समर्थन करता है
- **मज़बूत त्रुटि प्रबंधन**: स्पष्ट सेटअप मार्गदर्शन के साथ व्यापक त्रुटि रिकवरी
- **प्रदर्शन अनुकूलित**: बेहतर प्रतिक्रियाशीलता के लिए प्रोसेस कैशिंग और लेआउट कैशिंग

## आवश्यकताएँ

- Rust 1.70+ (2021 edition)
- GTK4 डेवलपमेंट लाइब्रेरीज़
- Libadwaita डेवलपमेंट लाइब्रेरीज़
- `/proc` फ़ाइलसिस्टम वाला Linux सिस्टम
- Linux 5.8+ (eBPF ग्रैनुलर क्षमताओं के लिए)
- Nightly Rust और `bpf-linker` (eBPF कंपाइलेशन के लिए)

### Ubuntu/Debian पर इंस्टॉलेशन:
```bash
sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev
```

### Fedora पर इंस्टॉलेशन:
```bash
sudo dnf install gtk4-devel libadwaita-devel
```

## इंस्टॉलेशन

### विधि 1: डेस्कटॉप एकीकरण के साथ स्रोत से इंस्टॉल करें

1. रिपॉज़िटरी क्लोन करें:
```bash
git clone <repository-url>
cd network-monitor
```

2. स्थानीय रूप से इंस्टॉल करें (sudo की आवश्यकता नहीं):
```bash
./scripts/install.sh
```

3. या सिस्टम-व्यापी इंस्टॉल करें (sudo आवश्यक):
```bash
sudo ./scripts/install.sh
```

इंस्टॉलेशन स्क्रिप्ट यह करेगी:
- GTK4 और TUI दोनों बाइनरीज़ बनाएगी (स्थानीय के लिए debug, सिस्टम-व्यापी के लिए release)
- बाइनरीज़ को `~/.local/bin/` (स्थानीय) या `/usr/local/bin/` (सिस्टम-व्यापी) में इंस्टॉल करेगी
- GNOME डॉक पिनिंग के लिए उचित WM क्लास के साथ डेस्कटॉप फ़ाइल इंस्टॉल करेगी
- उपयुक्त आइकन निर्देशिकाओं में आइकन इंस्टॉल करेगी
- आइकन कैश और डेस्कटॉप डेटाबेस अपडेट करेगी
- सुनिश्चित करेगी कि एप्लिकेशन को GNOME डॉक/डैशबोर्ड पर पिन किया जा सके

### विधि 2: सीधे बिल्ड और रन करें

1. रिपॉज़िटरी क्लोन करें:
```bash
git clone <repository-url>
cd network-monitor
```

2. बिल्ड और रन करें:
```bash
cargo run
```

या release मोड में बिल्ड करें:
```bash
cargo build --release
./target/release/network-monitor
```

### विधि 3: TUI संस्करण बिल्ड और रन करें

1. रिपॉज़िटरी क्लोन करें:
```bash
git clone <repository-url>
cd network-monitor
```

2. TUI बिल्ड और रन करें:
```bash
cargo build --bin nmt
./target/debug/nmt
```

या release मोड में बिल्ड करें:
```bash
cargo build --release --bin nmt
./target/release/nmt
```

## अनइंस्टॉलेशन

### इंस्टॉल किए गए संस्करण को हटाएँ

स्थानीय इंस्टॉलेशन हटाना:
```bash
./scripts/uninstall.sh
```

सिस्टम-व्यापी हटाना (sudo आवश्यक):
```bash
sudo ./scripts/uninstall.sh
```

अनइंस्टॉलेशन स्क्रिप्ट उपयुक्त स्थानों से बाइनरी, डेस्कटॉप फ़ाइल और आइकन हटा देगी और सभी प्रासंगिक कैश अपडेट कर देगी।

## उपयोग

### GTK4 ग्राफिकल इंटरफ़ेस

नेटवर्क मॉनिटर एप्लिकेशन लॉन्च करें:
```bash
cargo run
```

एप्लिकेशन एक GTK4 विंडो खोलेगा जो प्रदर्शित करेगी:
- **Process(ID)**: सटीक socket-to-process मैपिंग के साथ प्रोसेस नाम और PID
- **Protocol**: TCP/UDP प्रोटोकॉल
- **Source**: स्थानीय एंडपॉइंट (पठनीय प्रारूप में रिज़ॉल्व किया गया)
- **Destination**: रिमोट एंडपॉइंट (पठनीय प्रारूप में रिज़ॉल्व किया गया)
- **Status**: कनेक्शन स्थिति (ESTABLISHED, LISTEN, आदि)
- **TX**: प्रोसेस I/O आंकड़ों से गणना की गई अपलोड दर
- **RX**: प्रोसेस I/O आंकड़ों से गणना की गई डाउनलोड दर
- **Path**: `/proc/[pid]/cmdline` से पूर्ण कमांड पथ और आर्गुमेंट्स

**पंक्ति क्रियाएँ**

- **लेफ़्ट क्लिक**: एक पंक्ति चुनें (नीचे की स्ट्रिप में भी दिखाई जाती है)
- **राइट क्लिक**: *Copy Value*, *Copy Command* और
  *Kill "process" (PID)* के साथ कॉन्टेक्स्ट मेनू खोलें, जो पूछता है कि Terminate (SIGTERM) करना है या Force Kill (SIGKILL)
- **Delete**: वर्तमान में चयनित पंक्ति को किल करें (समान पुष्टि संवाद)
- **Ctrl+C**: सेल सामग्री कॉपी करें
- **हेडर बार में Refresh बटन**: तुरंत अपडेट करें (सूची हर 3 सेकंड में भी रीफ्रेश होती है)

### टर्मिनल इंटरफ़ेस (TUI)

![network-monitor का nmt tui](https://assets.kitploit.com/production/public/readmes/9883/47e8eb45b8c8f16826d39677c6c81c38a0fd1a48bf59d28a070994f93e437a2c.png)

टर्मिनल इंटरफ़ेस लॉन्च करें:
```bash
cargo run --bin nmt
```

TUI एक इंटरैक्टिव टर्मिनल इंटरफ़ेस में समान मॉनिटरिंग क्षमताएँ प्रदान करता है:

**की नियंत्रण:**
- `q` - एप्लिकेशन से बाहर निकलें
- `r` - होस्टनेम रिज़ॉल्यूशन टॉगल करें
- `R` - कनेक्शनों को मैन्युअल रूप से रीफ्रेश करें
- `a` - ऑटो-रीफ्रेश टॉगल करें (2-सेकंड अंतराल)
- `↑/↓` - कनेक्शनों के माध्यम से नेविगेट करें
- `←/→` - तालिका को क्षैतिज रूप से स्क्रॉल करें
- `k` / **राइट क्लिक** - किसी पंक्ति के लिए kill मेनू खोलें (Terminate / Force Kill / Cancel)
- `1-8` - स्तंभों के अनुसार क्रमबद्ध करें (Process(ID), Protocol, Source, Destination, Status, TX, RX, Path)

माउस: लेफ़्ट क्लिक एक पंक्ति चुनता है, राइट क्लिक उसे चुनता है और kill मेनू खोलता है।

**विशेषताएँ:**
- ऑटो-रीफ्रेश के साथ रीयल-टाइम कनेक्शन मॉनिटरिंग
- दृश्य संकेतकों के साथ क्रमबद्ध करने योग्य स्तंभ
- चौड़ी तालिकाओं के लिए क्षैतिज स्क्रॉलिंग
- स्मार्ट स्तंभ आकार - अंतिम स्तंभ को पूरी शेष चौड़ाई मिलती है
- रंग-कोडित प्रोटोकॉल (TCP/TCP6 हरे में, UDP/UDP6 पीले में)
- सक्रिय कनेक्शन हाइलाइटिंग
- प्रोसेस और PID जानकारी
- लाइव I/O दर प्रदर्शन
- निरंतरता के लिए GTK4 संस्करण के समान स्तंभ क्रम

### पता रिज़ॉल्यूशन

पठनीयता के लिए सामान्य पते सरल किए जाते हैं:
- `0.0.0.0:*` या `*:*` → `ANY`
- `127.0.0.1:*` या `[::1]:*` → `LOCALHOST`
- `224.0.0.251:*` → `MDNS`

## यह कैसे काम करता है

### eBPF बैकएंड (इवेंट-चालित)

ऐप `/proc/net` को पोल करने के बजाय कर्नेल-स्तरीय kprobes (`tcp_v4_connect`, `tcp_v6_connect`, `tcp_close`,
`inet_csk_accept`) का उपयोग करता है। यह प्रदान करता है:

- **इवेंट-चालित**: सब-मिलीसेकंड इवेंट डिलीवरी, कोई पोलिंग ओवरहेड नहीं (~1-3% CPU)
- **प्रत्यक्ष PID**: प्रोब पॉइंट पर `bpf_get_current_pid_tgid()` के माध्यम से कैप्चर किया गया, कोई inode स्कैनिंग नहीं
- **अल्पकालिक कनेक्शन**: पोल अंतरालों के बीच कभी नहीं छूटते

### eBPF मोड

eBPF बैकएंड डिफ़ॉल्ट `/proc/net` पोलिंग दृष्टिकोण की तुलना में कम ओवरहेड और रीयल-टाइम
इवेंट्स के साथ **इवेंट-चालित** कनेक्शन मॉनिटरिंग प्रदान करता है। यह अल्पकालिक कनेक्शनों को
कैप्चर कर सकता है जो पोलिंग से छूट सकते हैं।

**पूर्वापेक्षाएँ:**
```bash
rustup toolchain install nightly
cargo install bpf-linker
```

**बिल्ड और रन:**
```bash
cargo build
```

**सामान्य उपयोगकर्ता के रूप में चलाएँ** (kernel 5.8+ आवश्यक):

बाइनरी को एक बार आवश्यक Linux क्षमताएँ प्रदान करें:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor
```

या TUI संस्करण के लिए:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt
```

release बिल्ड के लिए, पथ को तदनुसार समायोजित करें:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/release/network-monitor
```

यदि eBPF उपलब्ध नहीं है (क्षमताएँ अनुपलब्ध या असमर्थित कर्नेल) तो ऐप एक सेटअप संदेश के साथ बाहर निकल जाएगा।

## आर्किटेक्चर
- **GTK4**: आधुनिक क्रॉस-प्लेटफ़ॉर्म GUI फ़्रेमवर्क
- **Libadwaita**: GNOME-शैली UI घटक
- **Tokio**: समवर्ती संचालनों के लिए async रनटाइम
- **Aya + eBPF**: रीयल-टाइम इवेंट्स के लिए kprobes के साथ कर्नेल-स्तरीय कनेक्शन ट्रेसिंग
- **प्रत्यक्ष PID**: प्रोब पॉइंट पर `bpf_get_current_pid_tgid()` के माध्यम से प्रोसेस पहचान
- **सिस्टम कॉल**: I/O आंकड़ों के लिए सीधा `/proc/[pid]/io` पठन
- **त्रुटि प्रबंधन**: `thiserror` का उपयोग करके सुगम रिकवरी के साथ व्यापक त्रुटि प्रकार
- **प्रदर्शन कैशिंग**: इष्टतम प्रदर्शन के लिए UI लेआउट कैशिंग

## Linux पैकेज

[![Packaging status](https://repology.org/badge/vertical-allrepos/network-monitor.svg)](https://repology.org/project/network-monitor/versions)


## दान

यदि आपको यह प्रोजेक्ट सहायक लगता है, तो कृपया इसके विकास का समर्थन करने के लिए दान देने पर विचार करें।

- **Monero**: `88LyqYXn4LdCVDtPWKuton9hJwbo8ZduNEGuARHGdeSJ79BBYWGpMQR8VGWxGDKtTLLM6E9MJm8RvW9VMUgCcSXu19L9FSv`
- **Bitcoin**: `bc1q6mh77hfv8x8pa0clzskw6ndysujmr78j6se025`

## लाइसेंस

यह प्रोजेक्ट ओपन सोर्स है। विवरण के लिए LICENSE फ़ाइल देखें।
टूल डाउनलोड करें