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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
portclue — बताएं कि Linux TCP पोर्ट पहुंच योग्य क्यों हो सकता है या नहीं | Kitploit
उपकरण/GitHubGitHub/pbxqdown/portclue
रक्षात्मक उपकरणकंटेनर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगजानकारी एकत्र करनानेटवर्क सुरक्षाउपयोगिताएँ और फ्रेमवर्क
GitHubpbxqdown/portclue

portclue

बताएं कि Linux TCP पोर्ट पहुंच योग्य क्यों हो सकता है या नहीं

रिपॉजिटरी देखें
34526 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
वेबसाइट
साझा करें

PortClue

CI Release License Go

PortClue बताता है कि Linux मशीन पर कोई TCP पोर्ट पहुँच योग्य क्यों है या क्यों नहीं है। यह socket, process, firewall, और Docker स्थिति को एक छोटी साक्ष्य श्रृंखला में बदल देता है, बजाय इसके कि आपको ss, /proc, nftables, iptables, और docker inspect को हाथ से आपस में जोड़ना पड़े।

PortClue डेमो: स्थानीय TCP लिसनरों का अवलोकन, फिर पोर्ट 8080 के लिए साक्ष्य श्रृंखला

बिना पोर्ट के चलाएँ ताकि पता चले कि कौन से स्थानीय TCP एंडपॉइंट ध्यान देने योग्य हैं:

$ sudo portclue
LOCAL TCP LISTENERS

PORT    SERVICE                   CONFIDENCE BIND            OWNER       SOURCE BIND SCOPE
22      OpenSSH server            HIGH       0.0.0.0,::      ssh.service host   ALL_INTERFACES
8080    NGINX web server          HIGH       0.0.0.0,::      nginx       host   ALL_INTERFACES
8443    api service               MEDIUM     192.0.2.10      demo-api    docker SPECIFIC_INTERFACE
9000    Python HTTP server        MEDIUM     127.0.0.1       python3     host   LOOPBACK_ONLY

BIND SCOPE describes socket binding, not firewall reachability.
Run `portclue PORT` for the complete evidence chain and local exposure verdict.

ALL_INTERFACES, SPECIFIC_INTERFACE, और LOOPBACK_ONLY बताते हैं कि कोई socket कहाँ ट्रैफ़िक स्वीकार करता है। ये जानबूझकर यह दावा नहीं करते कि कोई firewall इसे अनुमति देता है। पूर्ण स्थानीय firewall विश्लेषण के लिए किसी पोर्ट का निरीक्षण करें:

$ sudo portclue 8080
POTENTIAL EXTERNAL EXPOSURE

TCP port 8080

  0.0.0.0:8080/tcp  [POTENTIAL]
    Service            NGINX web server
    Category           web
    Confidence         HIGH
    Identity evidence  executable basename matched "nginx"
    -> LISTEN             NETLINK_INET_DIAG reports socket inode 123456 bound to 0.0.0.0:8080/tcp
    -> OWNED              PID 4242 (nginx), systemd unit nginx.service
    -> ALL_INTERFACES     0.0.0.0 accepts traffic addressed to any local interface
    -> ACCEPT             nftables: a direct rule matches TCP destination port 8080 and returns accept

Unknown outside this machine:
  - router port forwarding
  - cloud firewall or security group
  - upstream NAT, including carrier-grade NAT

[!IMPORTANT] PortClue v0.1 एक प्रारंभिक, रूढ़िवादी Linux प्रोटोटाइप है। POTENTIAL का अर्थ है कि देखा गया स्थानीय पथ ट्रैफ़िक की अनुमति देता है; यह दावा नहीं करता कि कोई पोर्ट सार्वजनिक इंटरनेट से पहुँच योग्य है। असमर्थित firewall अभिव्यक्तियाँ UNKNOWN उत्पन्न करती हैं।

ss या lsof क्यों नहीं

  • इनकी आवश्यकता नहीं है। लिसनर NETLINK_INET_DIAG से आते हैं, वही kernel इंटरफ़ेस जो ss उपयोग करता है, और प्रक्रिया विवरण /proc से। किसी अन्य टूल के आउटपुट से कुछ भी पार्स नहीं किया जाता, इसलिए जिस कंटेनर में न ss है न lsof, उसे भी लिसनर और उसका स्वामी मिल जाता है। Firewall विश्लेषण nft या iptables-save चलाता है, और इनके बिना UNKNOWN रिपोर्ट करता है।
  • यह अगला प्रश्न का उत्तर देता है। ss -ltnp आपको socket और PID देता है। वह bind केवल loopback है या नहीं, कोई firewall नियम इसे अनुमति देता है या नहीं, और वह पोर्ट host लिसनर के बजाय Docker publish है या नहीं — यह काम आपको अन्यथा हाथ से करना पड़ता।
  • यह अनुमान नहीं लगाएगा। जिस firewall नियम को PortClue मॉडल नहीं कर सकता, वह UNKNOWN देता है, कभी आत्मविश्वास से भरा गलत उत्तर नहीं।

यह क्या पढ़ता है

  • TCP लिसनर NETLINK_INET_DIAG के माध्यम से, ss आउटपुट को स्क्रैप करके नहीं
  • प्रक्रिया स्वामित्व, executable, कमांड लाइन, cgroup, और नेटवर्क नेमस्पेस /proc के माध्यम से
  • स्थापित unit फ़ाइलों से systemd unit विवरण और systemctl show के माध्यम से सक्रिय socket ट्रिगर
  • nftables nft --json list ruleset के माध्यम से
  • nftables अनुपलब्ध होने पर iptables iptables-save के माध्यम से
  • Docker प्रकाशित पोर्ट स्थानीय Docker Engine HTTP API के माध्यम से, जिसमें image और labels शामिल हैं

सेवा पहचान

PortClue exposure समझाने से पहले पहचानता है कि कोई पोर्ट किसका है। साक्ष्य इस क्रम में रैंक किए जाते हैं:

  1. देखा गया executable, systemd unit, और सक्रिय socket ट्रिगर;
  2. Docker image, कंटेनर नाम, और labels;
  3. अंतर्निहित क्यूरेटेड सेवा कैटलॉग;
  4. स्थानीय /etc/services पोर्ट परंपरा।

वास्तविक स्वामी हमेशा पारंपरिक पोर्ट नाम को ओवरराइड करता है। यदि केवल पोर्ट परंपरा ज्ञात है, तो पहचान स्पष्ट रूप से LOW confidence के रूप में चिह्नित की जाती है। अंतर्निहित कैटलॉग internal/identify/catalog.json में संग्रहीत है और एकल बाइनरी के अंदर भेजा जाता है; PortClue रनटाइम पर पहचान डेटा डाउनलोड नहीं करता।

PortClue read-only है। यह क्वेरी किए गए पोर्ट से कनेक्ट नहीं होता, किसी अन्य host को स्कैन नहीं करता, firewall नियम नहीं बदलता, प्रक्रियाएँ या कंटेनर नहीं रोकता, डेटा अपलोड नहीं करता, या daemon नहीं चलाता।

इंस्टॉल

इंस्टॉल स्क्रिप्ट (अनुशंसित)

Linux (amd64 और arm64) पर चलता है। स्क्रिप्ट मेल खाता GitHub Release archive डाउनलोड करती है, SHA256SUMS सत्यापित करती है, और एकल बाइनरी इंस्टॉल करती है। यह shell config को संशोधित नहीं करती।

उपयोगकर्ता इंस्टॉल (डिफ़ॉल्ट, बिना root)। ~/.local/bin में इंस्टॉल करता है, आपके स्वामित्व में:

curl -fsSL https://raw.githubusercontent.com/pbxqdown/portclue/v0.1.2/scripts/install.sh | sh
portclue

उपयोगकर्ता इंस्टॉल बिना root चलता है और आपके खाते के लिए उपलब्ध साक्ष्य रिपोर्ट करता है, जो अनुपलब्ध है उसे नोट करता है। यह लिसनर और Docker मैपिंग का पता लगाने के लिए पर्याप्त है। चूँकि sudo ~/.local/bin को नहीं खोजता और यह बाइनरी आपके उपयोगकर्ता द्वारा लिखने योग्य है, इस प्रति को sudo के साथ न चलाएँ।

सिस्टम इंस्टॉल (root-owned, sudo portclue के लिए)। PortClue root के रूप में सबसे पूर्ण साक्ष्य (प्रतिबंधित /proc, पूर्ण firewall स्थिति) पढ़ता है। इसके लिए, /usr/local/bin में root-owned बाइनरी इंस्टॉल करें (स्क्रिप्ट sudo का उपयोग केवल अंतिम इंस्टॉल चरण के लिए करती है, डाउनलोड या निकालने के लिए नहीं):

curl -fsSL https://raw.githubusercontent.com/pbxqdown/portclue/v0.1.2/scripts/install.sh | sh -s -- --system
sudo portclue

वैकल्पिक ओवरराइड: PORTCLUE_VERSION=0.1.2 (बिना अग्रणी v) और किसी भी मोड के लिए PORTCLUE_INSTALL_DIR।

अनइंस्टॉल:

# user install
rm ~/.local/bin/portclue
# system install
sudo rm /usr/local/bin/portclue
# or, matching how you installed:
curl -fsSL https://raw.githubusercontent.com/pbxqdown/portclue/v0.1.2/scripts/install.sh | sh -s -- --uninstall
curl -fsSL https://raw.githubusercontent.com/pbxqdown/portclue/v0.1.2/scripts/install.sh | sh -s -- --system --uninstall

Release archive

GitHub Releases से मेल खाता portclue-VERSION-linux-ARCH.tar.gz और SHA256SUMS डाउनलोड करें, checksum सत्यापित करें, फिर इंस्टॉल करें:

sha256sum -c SHA256SUMS --ignore-missing
tar -xzf portclue-0.1.2-linux-amd64.tar.gz   # or linux-arm64
sudo install -m 0755 portclue-0.1.2-linux-amd64/portclue /usr/local/bin/portclue
portclue --version

आर्किटेक्चर मैपिंग:

uname -mArchive
x86_64linux-amd64
aarch64, arm64linux-arm64

प्रत्येक archive में बाइनरी, README, Apache-2.0 लाइसेंस, और तृतीय-पक्ष सूचनाएँ शामिल हैं।

Go install

Linux और Go 1.27+ आवश्यक:

go install github.com/pbxqdown/portclue/cmd/[email protected]

यह बाइनरी को $(go env GOPATH)/bin में रखता है। जब आप प्रतिलिपि-योग्य इंस्टॉल आर्टिफ़ैक्ट चाहते हैं तो checksum-सत्यापित release archive या install script को प्राथमिकता दें।

स्रोत से बिल्ड और रन करें

टूल डाउनलोड करें