Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

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

portclue

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

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

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

सभी देखें →

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

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

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

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

PortClue

CI Release License Go

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

PortClue demo: स्थानीय TCP listeners का अवलोकन, फिर पोर्ट 8080 के लिए evidence chain

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

root@kitploit:~
$ 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 कहाँ से traffic स्वीकार करता है। ये जानबूझकर यह दावा नहीं करते कि firewall इसे अनुमति देता है। पूर्ण स्थानीय firewall विश्लेषण के लिए किसी पोर्ट का निरीक्षण करें:

root@kitploit:~
$ 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 prototype है। POTENTIAL का अर्थ है कि देखा गया स्थानीय path traffic की अनुमति देता है; यह दावा नहीं करता कि कोई पोर्ट public internet से पहुँच योग्य है। असमर्थित firewall expressions UNKNOWN उत्पन्न करते हैं।

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

  • TCP listeners NETLINK_INET_DIAG के माध्यम से, ss output को scrape करके नहीं
  • process ownership, executable, command line, cgroup, और network namespace /proc के माध्यम से
  • installed unit files से systemd unit descriptions और systemctl show के माध्यम से active socket triggers
  • nftables nft --json list ruleset के माध्यम से
  • जब nftables उपलब्ध न हो तो iptables iptables-save के माध्यम से
  • Docker published ports स्थानीय Docker Engine HTTP API के माध्यम से, image और labels सहित

Service identity

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

  1. observed executable, systemd unit, और active socket trigger;
  2. Docker image, container name, और labels;
  3. embedded curated service catalog;
  4. स्थानीय /etc/services port convention.

वास्तविक owner हमेशा conventional port name को override करता है। यदि केवल port convention ज्ञात हो, तो identity स्पष्ट रूप से LOW confidence के रूप में चिह्नित की जाती है। Embedded catalog internal/identify/catalog.json में संग्रहीत है और single binary के अंदर ship होता है; PortClue runtime पर identity data download नहीं करता।

PortClue read-only है। यह queried port से connect नहीं करता, किसी अन्य host को scan नहीं करता, firewall rules नहीं बदलता, processes या containers नहीं रोकता, data upload नहीं करता, या daemon नहीं चलाता।

Install

Install script (अनुशंसित)

Linux (amd64 और arm64) पर चलता है। Script matching GitHub Release archive download करता है, SHA256SUMS verify करता है, और एक single binary install करता है। यह shell config को modify नहीं करता।

User install (default, no root)। ~/.local/bin में install करता है, जो आपके स्वामित्व में है:

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

User install बिना root के चलता है और आपके account को उपलब्ध evidence की रिपोर्ट करता है, यह बताते हुए कि क्या missing है। यह listeners और Docker mappings को explore करने के लिए पर्याप्त है। चूँकि sudo ~/.local/bin को search नहीं करता और यह binary आपके user द्वारा writable है, इस copy को sudo के साथ न चलाएँ।

System install (root-owned, sudo portclue के लिए)। PortClue root के रूप में सबसे पूर्ण evidence (restricted /proc, पूर्ण firewall state) पढ़ता है। इसके लिए, /usr/local/bin में root-owned binary install करें (script sudo का उपयोग केवल अंतिम install step के लिए करता है, download या extract के लिए नहीं):

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

वैकल्पिक overrides: PORTCLUE_VERSION=0.1.2 (बिना leading v) और PORTCLUE_INSTALL_DIR दोनों modes के लिए।

Uninstall:

root@kitploit:~
# 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 से matching portclue-VERSION-linux-ARCH.tar.gz और SHA256SUMS download करें, checksum verify करें, फिर install करें:

root@kitploit:~
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

Architecture mapping:

uname -mArchive
x86_64linux-amd64
aarch64, arm64linux-arm64

प्रत्येक archive में binary, README, Apache-2.0 license, और third-party notices शामिल हैं।

Go install

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

root@kitploit:~
go install github.com/pbxqdown/portclue/cmd/[email protected]

यह binary को $(go env GOPATH)/bin में रखता है। जब आप reproducible install artifacts चाहते हों तो checksum-verified release archive या install script को प्राथमिकता दें।

Source से build और run करें

आवश्यकताएँ: Linux और Go 1.25 या नया।

root@kitploit:~
go build -o portclue ./cmd/portclue
./portclue
./portclue --json
./portclue 8080
./portclue --json 8080

Overview mode वैकल्पिक filters स्वीकार करता है (ignored fields unconstrained रहते हैं):

root@kitploit:~
./portclue --bind-scope ALL_INTERFACES,SPECIFIC_INTERFACE
./portclue --source docker
./portclue --min-confidence MEDIUM
./portclue --json --bind-scope ALL_INTERFACES --min-confidence HIGH

--bind-scope ALL_INTERFACES, SPECIFIC_INTERFACE, और LOOPBACK_ONLY की comma-separated list स्वीकार करता है। --source host और/या docker स्वीकार करता है। --min-confidence entries को HIGH, MEDIUM, LOW, या UNKNOWN पर या उससे ऊपर रखता है। ये flags केवल तब लागू होते हैं जब PORT छोड़ा गया हो।

बिना root चलाने पर भी उपयोगी listener, Docker mapping, और bind-address evidence मिलता है। जब /proc या firewall state restricted हो तो process identity और firewall evidence अधूरा हो सकता है; PortClue इसे Incomplete evidence के अंतर्गत रिपोर्ट करता है। सबसे पूर्ण परिणाम के लिए sudo का उपयोग करें:

root@kitploit:~
sudo ./portclue
sudo ./portclue --bind-scope ALL_INTERFACES,SPECIFIC_INTERFACE
sudo ./portclue 8080

Versioned JSON

JSON forms scripts और agents के लिए हैं। Overview JSON schema_version: 2, mode: "overview", और entries का उपयोग करता है जिसमें service_identity और bind_scope होते हैं। Detailed report schema_version: 1, query, verdict, paths का उपयोग करता है जिसमें service_identity, unknowns, और warnings होते हैं।

एक schema version के भीतर, मौजूदा field names और meanings stable माने जाते हैं। नए optional fields जोड़े जा सकते हैं। किसी field को हटाने, rename करने, या असंगत meaning परिवर्तन के लिए नया schema_version आवश्यक है। दोनों contracts के regression tests हैं।

Verdicts

VerdictMeaning

v0.1 में समर्थित

  • Linux, TCP, host network namespace
  • IPv4 listener और local filtering analysis
  • सही IPv6 listener/bind classification; पूर्ण IPv6 firewall simulation का वादा नहीं
  • सरल nftables/iptables base chains, direct TCP destination-port rules, और base policies
  • Docker bridge published-port attribution
  • systemd socket-activated TCP service attribution
  • terminal और JSON output
  • overview filters: --bind-scope, --source, --min-confidence

शामिल नहीं: UDP, Podman, Kubernetes, cloud security groups, router discovery, remote scanning, eBPF, continuous monitoring, या remediation।

रूढ़िवादी firewall व्यवहार

PortClue जानबूझकर पूरे Netfilter virtual machine को implement करने का प्रयास नहीं करता। पहला version direct rules के एक छोटे समूह को समझता है। Multiple base chains, jumps, sets, maps, fib, dynamic expressions, या अन्य unrecognized logic UNKNOWN उत्पन्न करते हैं जब वे query को प्रभावित कर सकते हों। यह चुपचाप किसी unparsed rule को accept या drop मानने से अधिक सुरक्षित है।

Development

Scope, testing, और firewall UNKNOWN परिणामों की रिपोर्ट कैसे करें, इसके लिए CONTRIBUTING.md देखें।

root@kitploit:~
make check
make release VERSION=0.1.2

make release के लिए clean Git worktree आवश्यक है और यह versioned amd64/arm64 archives तथा dist/SHA256SUMS बनाता है। Configured GitHub remote पर v* tag push करने से वही checks चलते हैं और GitHub release बनता है। Makefile द्वारा कोई tag नहीं बनाया जाता।

दीर्घकालिक design analyzer, causal model, और renderers को platform-neutral रखता है। Linux पहला evidence backend है; यदि Linux prototype वास्तविक उपयोग अर्जित करता है तो Windows संभवतः दूसरा backend होगा।

License

PortClue Apache License 2.0 के अंतर्गत licensed है। LICENSE देखें। Binary archives में THIRD_PARTY_NOTICES भी शामिल हैं।

Release history और JSON compatibility notes के लिए CHANGELOG.md देखें, supported versions और private vulnerability reporting के लिए SECURITY.md, और योगदान देने के लिए CONTRIBUTING.md देखें।

टूल डाउनलोड करें
POTENTIALएक non-loopback local path देखा जाता है और समर्थित firewall evidence इसे अनुमति देता है। External routing अज्ञात है।
NOT_EXPOSED_LOCALLYकोई listener/mapping मौजूद नहीं है, bind loopback-only है, या समर्थित local firewall evidence path को block करता है।
UNKNOWNकोई आवश्यक तथ्य अनुपलब्ध है या कोई संभावित रूप से प्रासंगिक firewall expression समर्थित नहीं है।
CONFIRMEDभविष्य के explicit external probe के लिए आरक्षित। वर्तमान local-only CLI इसे कभी emit नहीं करता।