
टर्मिनल बैंडविड्थ उपयोग उपकरण

यह एक CLI उपयोगिता है जो प्रक्रिया, कनेक्शन और रिमोट IP/होस्टनाम के अनुसार वर्तमान नेटवर्क उपयोग को प्रदर्शित करने के लिए है।
यह परियोजना निष्क्रिय रखरखाव में है। गंभीर मुद्दों को संबोधित किया जाएगा, लेकिन कोई नई सुविधाओं पर काम नहीं किया जा रहा है। हालाँकि, यह किसी और चीज़ से अधिक फंडिंग और/या जनशक्ति की कमी के कारण है, इसलिए pull requests का स्वागत है। इसके अलावा, यदि आप इस परियोजना में दीर्घकालिक योगदान देने में सक्षम और इच्छुक हैं, तो हम आपको सह-रखरखाव के लिए आवेदन करने के लिए आमंत्रित करना चाहेंगे।
अधिक जानकारी के लिए, देखें The Future of Bandwhich #275।
bandwhich किसी दिए गए नेटवर्क इंटरफ़ेस को सूँघता है और IP पैकेट आकार रिकॉर्ड करता है, इसे लिनक्स पर /proc फ़ाइल सिस्टम, macOS पर lsof, या विंडोज़ पर WinApi का उपयोग करके क्रॉस-रेफ़रेंस करता है। यह टर्मिनल विंडो के आकार के प्रति उत्तरदायी है, यदि इसके लिए जगह नहीं है तो कम जानकारी प्रदर्शित करता है। यह सर्वोत्तम प्रयास के आधार पर पृष्ठभूमि में रिवर्स DNS का उपयोग करके IP को उनके होस्ट नाम में हल करने का प्रयास करेगा।
प्रत्येक प्लेटफ़ॉर्म के लिए विस्तृत निर्देशों के लिए, देखें INSTALL.md।
हम विभिन्न OS के लिए रिलीज़ में कई सामान्य बाइनरी प्रदान करते हैं।
git clone https://github.com/imsnif/bandwhich.git
cd bandwhich
cargo build --release
अद्यतित न्यूनतम समर्थित Rust संस्करण के लिए, कृपया Cargo.toml में rust-version फ़ील्ड देखें।
वैकल्पिक लक्ष्यों के लिए क्रॉस-कम्पाइलिंग cross के माध्यम से समर्थित है। यहाँ मोटी प्रक्रिया है:
uname -m का उपयोग करें।cross करें।cross build --release --target <TARGET_TRIPLE> चलाएं।जब तक cross-rs/cross#1222 हल नहीं हो जाता, तब तक नवीनतम HEAD का उपयोग करें:
cargo install --git https://github.com/cross-rs/cross.git cross
cross build --release --target aarch64-linux-android
चूंकि bandwhich नेटवर्क पैकेट सूँघता है, इसलिए इसे उच्च विशेषाधिकारों की आवश्यकता होती है। Linux पर, इसे प्राप्त करने के दो मुख्य तरीके हैं:
setcapbandwhich बाइनरी को स्थायी रूप से अपने आवश्यक विशेषाधिकार (Linux में "क्षमताएँ" कहलाते हैं) दें।# क्षमताएँ असाइन करें
sudo setcap cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep $(command -v bandwhich)
# अविशिष्ट उपयोगकर्ता के रूप में चलाएं
bandwhich
cap_sys_ptrace,cap_dac_read_search: /proc/<pid>/fd/ तक पहुँच की अनुमति दें, ताकि bandwhich यह निर्धारित कर सके कि कौन सा खुला पोर्ट किस प्रक्रिया का है।cap_net_raw,cap_net_admin: आपके सिस्टम पर पैकेट कैप्चर करने की अनुमति दें।sudo (या विकल्प)sudo bandwhich
ध्यान दें कि यदि आपकी स्थापना विधि ने bandwhich को आपके होम डायरेक्टरी में कहीं स्थापित किया है (आप command -v bandwhich से जाँच सकते हैं), तो आपको command not found त्रुटि मिल सकती है। ऐसा इसलिए है क्योंकि कई वितरणों में, sudo डिफ़ॉल्ट रूप से सुरक्षा चिंताओं के कारण आपके उपयोगकर्ता के $PATH को नहीं रखता है।
इसे दूर करने के लिए, आप निम्न में से कोई भी कर सकते हैं:
sudo को अपने $PATH पर्यावरण चर को संरक्षित करने दें;bandwhich चलाते समय स्पष्ट रूप से $PATH सेट करें: sudo env "PATH=$PATH" bandwhich;sudo को पूर्ण पथ पास करें: sudo $(command -v bandwhich)।Windows पर पैकेट कैप्चर करने के लिए आपको पहले npcap स्थापित करने की आवश्यकता हो सकती है।
Usage: bandwhich [OPTIONS]
Options:
-i, --interface <INTERFACE> The network interface to listen on, eg. eth0
-r, --raw Machine friendlier output
-n, --no-resolve Do not attempt to resolve IPs to their hostnames
-s, --show-dns Show DNS queries
-d, --dns-server <DNS_SERVER> A dns server ip to use instead of the system default
--log-to <LOG_TO> Enable debug logging to a file
-v, --verbose... Increase logging verbosity
-q, --quiet... Decrease logging verbosity
-p, --processes Show processes table only
-c, --connections Show connections table only
-a, --addresses Show remote addresses table only
-u, --unit-family <UNIT_FAMILY> Choose a specific family of units [default: bin-bytes] [possible values: bin-bytes, bin-bits, si-bytes, si-bits]
-t, --total-utilization Show total (cumulative) usages
-h, --help Print help (see more with '--help')
-V, --version Print version
देखें CONTRIBUTING.md.
MIT
| OS | आर्किटेक्चर | समर्थन | उपयोग |
|---|
| Android | aarch64 | सर्वोत्तम प्रयास |
सभी आधुनिक Android उपकरण। ध्यान दें कि यह एक शुद्ध बाइनरी फ़ाइल है, सामान्य उपयोग के लिए उपयुक्त APK नहीं है। |
| Linux | aarch64 | पूर्ण | 64-बिट ARMv8+ (सर्वर, कुछ आधुनिक राउटर, RPi-4+). |
| armv7hf | सर्वोत्तम प्रयास | 32-बिट ARMv7 (पुराने राउटर, pre-RPi-4). | |
| x64 | पूर्ण | अधिकांश Linux डेस्कटॉप और सर्वर। | |
| MacOS | aarch64 | पूर्ण | Apple silicon Macs (2021+). |
| x64 | Intel Macs (2021 से पूर्व). | ||
| Windows | x64 | पूर्ण | अधिकांश Windows डेस्कटॉप और सर्वर। |