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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sx — :vulcan_salute: तेज़, आधुनिक, उपयोग में आसान नेटवर्क स्कैनर | Kitploit
उपकरण/GitHubGitHub/v-byte-cpu/sx
टोहीनेटवर्क मैपिंगपोर्ट स्कैनिंगजानकारी एकत्र करनापेनिट्रेशन टेस्टिंग
GitHubv-byte-cpu/sx

sx

🖖 तेज़, आधुनिक, उपयोग में आसान नेटवर्क स्कैनर

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

sx

License Build Status GoReportCard Status Platform

sx कमांड-लाइन नेटवर्क स्कैनर है जो UNIX दर्शन का पालन करने के लिए डिज़ाइन किया गया है।

इस परियोजना का लक्ष्य स्वच्छ और सरल कोड के साथ सबसे तेज़ नेटवर्क स्कैनर बनाना है।

📖 विषय सूची

  • विशेषताएँ
  • इंस्टॉल
  • स्रोत से बनाएँ
  • त्वरित शुरुआत
  • संदर्भ
  • योगदान
  • श्रेय
  • लाइसेंस

✨ विशेषताएँ

  • ⚡ nmap से 30 गुना तेज़
  • ARP स्कैन: अपने स्थानीय नेटवर्क को स्कैन करके सक्रिय उपकरणों का पता लगाएँ
  • ICMP स्कैन: उन्नत ICMP स्कैनिंग तकनीकों का उपयोग करके सक्रिय होस्ट और फ़ायरवॉल नियमों का पता लगाएँ
  • TCP SYN स्कैन: खुले TCP पोर्ट खोजने के लिए पारंपरिक हाफ-ओपन स्कैन
  • TCP FIN / NULL / Xmas स्कैन: कुछ फ़ायरवॉल नियमों को बायपास करने के लिए स्कैन तकनीकें
  • कस्टम TCP स्कैन किसी भी TCP फ़्लैग के साथ: अपनी पसंद के विदेशी पैकेट भेजें और रिप्लाई पैकेट में सेट सभी TCP फ़्लैग के साथ परिणाम प्राप्त करें
  • UDP स्कैन: UDP पोर्ट स्कैन करें और खुले पोर्ट या फ़ायरवॉल नियमों का पता लगाने के लिए पूर्ण ICMP रिप्लाई प्राप्त करें
  • एप्लिकेशन स्कैन:
    • SOCKS5 स्कैन: IP रेंज या फ़ाइल से ip/port जोड़ियों की सूची स्कैन करके सक्रिय SOCKS5 प्रॉक्सी का पता लगाएँ
  • IP पतों पर यादृच्छिक पुनरावृत्ति परिमित चक्रीय गुणन समूहों का उपयोग करके
  • JSON आउटपुट समर्थन: sx विशेष रूप से परिणामों के सुविधाजनक स्वचालित प्रसंस्करण के लिए डिज़ाइन किया गया है

📦 इंस्टॉल

सबसे सरल तरीका है GitHub Releases से डाउनलोड करना और निष्पादन योग्य फ़ाइल को अपने PATH में रखना।

🛠 स्रोत से बनाएँ

आवश्यकताएँ:

  • Go 1.25 या नया
  • libpcap (यदि आप wireshark का उपयोग करते हैं तो पहले से स्थापित है)

macOS पर, पहले Xcode कमांड लाइन टूल्स इंस्टॉल करें ताकि CGO सिस्टम libpcap से लिंक कर सके:

root@kitploit:~
xcode-select --install

स्रोत ट्री के रूट से, चलाएँ:

root@kitploit:~
go build

🚀 त्वरित शुरुआत

यहाँ कुछ त्वरित उदाहरण दिए गए हैं जो दिखाते हैं कि आप sx के साथ नेटवर्क को कैसे स्कैन कर सकते हैं।

ARP स्कैन

अपने स्थानीय नेटवर्क को स्कैन करें और कनेक्टेड उपकरणों का IP पता, MAC पता और संबंधित हार्डवेयर विक्रेता प्रदर्शित करें:

root@kitploit:~
sx arp 192.168.0.1/24

नमूना आउटपुट:

root@kitploit:~
192.168.0.1          b0:be:76:40:05:8d    TP-LINK TECHNOLOGIES CO.,LTD.
192.168.0.111        80:c5:f2:0b:02:e3    AzureWave Technology Inc.
192.168.0.171        88:53:95:2d:3c:af    Apple, Inc.

JSON आउटपुट के साथ:

root@kitploit:~
sx arp --json 192.168.0.1/24

नमूना आउटपुट:

root@kitploit:~
{"ip":"192.168.0.1","mac":"b0:be:76:40:05:8d","vendor":"TP-LINK TECHNOLOGIES CO.,LTD."}
{"ip":"192.168.0.111","mac":"80:c5:f2:0b:02:e3","vendor":"AzureWave Technology Inc."}
{"ip":"192.168.0.171","mac":"88:53:95:2d:3c:af","vendor":"Apple, Inc."}

बाहर निकलने से पहले विलंबित रिप्लाई पैकेट प्राप्त करने के लिए 5 सेकंड प्रतीक्षा करें, डिफ़ॉल्ट रूप से sx 300 मिलीसेकंड प्रतीक्षा करता है:

root@kitploit:~
sx arp --exit-delay 5s 192.168.0.1/24

लाइव स्कैन मोड जो हर 10 सेकंड में नेटवर्क को फिर से स्कैन करता है:

root@kitploit:~
sx arp 192.168.0.1/24 --live 10s

TCP स्कैन

nmap और अन्य स्कैनरों के विपरीत जो वास्तविक स्कैन से पहले IP पतों को MAC पतों में हल करने के लिए ARP अनुरोधों को अंतर्निहित रूप से करते हैं, sx स्पष्ट रूप से ARP cache अवधारणा का उपयोग करता है। ARP cache फ़ाइल एक सरल टेक्स्ट फ़ाइल है जिसमें प्रत्येक पंक्ति में JSON स्ट्रिंग होती है (JSONL फ़ाइल), जिसमें वही JSON फ़ील्ड हैं जो ऊपर ARP स्कैन JSON आउटपुट में वर्णित हैं। TCP और UDP जैसे उच्च-स्तरीय प्रोटोकॉल के स्कैन stdin से ARP cache फ़ाइल पढ़ते हैं और फिर वास्तविक स्कैन शुरू करते हैं।

यह न केवल प्रोग्राम के डिज़ाइन को सरल बनाता है, बल्कि स्कैनिंग प्रक्रिया को भी गति देता है, क्योंकि हर बार ARP स्कैन करना आवश्यक नहीं है।

मान लें कि वास्तविक ARP cache arp.cache फ़ाइल में है। हम इसे मैन्युअल रूप से बना सकते हैं या नीचे दिखाए अनुसार ARP स्कैन का उपयोग कर सकते हैं:

root@kitploit:~
sx arp 192.168.0.1/24 --json | tee arp.cache

एक बार ARP cache फ़ाइल हो जाने पर, हम उच्च-स्तरीय प्रोटोकॉल जैसे TCP SYN स्कैन चला सकते हैं:

root@kitploit:~
cat arp.cache | sx tcp -p 1-65535 192.168.0.171

नमूना आउटपुट:

root@kitploit:~
192.168.0.171        22
192.168.0.171        443

इस स्थिति में हम पाते हैं कि पोर्ट 22 और 443 खुले हैं।

यदि बड़े स्कैन के दौरान send: No buffer space available दिखाई देता है, तो इसका मतलब आमतौर पर भेजने वाला कर्नेल/रॉ-सॉकेट बफ़र्स से आगे निकल रहा है। पहला समाधान है --rate जोड़ना और भेजने के बर्स्ट को कम करना, उदाहरण के लिए -r 100000/s या आवश्यकतानुसार कम। कुछ सिस्टम पर, OS सॉकेट/बफ़र सीमाओं को ट्यून करने से भी मदद मिल सकती है, लेकिन रेट लिमिटिंग प्राथमिक समाधान है।

JSON आउटपुट के साथ स्कैन:

root@kitploit:~
cat arp.cache | sx tcp  --json -p 1-65535 192.168.0.171

नमूना आउटपुट:

root@kitploit:~
{"scan":"tcpsyn","ip":"192.168.0.171","port":22}
{"scan":"tcpsyn","ip":"192.168.0.171","port":443}

एकाधिक पोर्ट रेंज स्कैन करें:

root@kitploit:~
cat arp.cache | sx tcp -p 1-23,25-443 192.168.0.171

या व्यक्तिगत पोर्ट:

root@kitploit:~
cat arp.cache | sx tcp -p 22,443 192.168.0.171

या स्कैन करने के लिए पोर्ट या पोर्ट रेंज निर्दिष्ट करने के लिए --ports-file विकल्प का उपयोग करें, प्रति पंक्ति एक।

फ़ाइल से ip/port जोड़ियों को JSON आउटपुट के साथ स्कैन करें:

root@kitploit:~
cat arp.cache | sx tcp --json -f ip_ports_file.jsonl

इनपुट फ़ाइल की प्रत्येक पंक्ति एक json स्ट्रिंग है, जिसमें ip और port फ़ील्ड होने चाहिए।

नमूना इनपुट फ़ाइल:

root@kitploit:~
{"ip":"10.0.1.1","port":1080}
{"ip":"10.0.2.2","port":1081}

-a या --arp-cache विकल्पों का उपयोग करके ARP cache फ़ाइल निर्दिष्ट करना संभव है:

root@kitploit:~
sx tcp -a arp.cache -p 22,443 192.168.0.171

या stdin रीडायरेक्ट:

root@kitploit:~
sx tcp -p 22,443 192.168.0.171 < arp.cache

आप tcp के बजाय tcp syn उप-कमांड का भी उपयोग कर सकते हैं:

root@kitploit:~
cat arp.cache | sx tcp syn -p 22 192.168.0.171

tcp उप-कमांड केवल tcp syn उप-कमांड का संक्षिप्त रूप है जब तक कि --flags विकल्प पारित नहीं किया जाता है, नीचे देखें।

VPN इंटरफेस

sx वर्चुअल नेटवर्क इंटरफेस (wireguard, openvpn, आदि) के साथ स्कैनिंग का समर्थन करता है और इस मामले में ARP cache का उपयोग करना आवश्यक नहीं है, क्योंकि इन इंटरफेस को इनपुट के रूप में Ethernet फ्रेम के बजाय कच्चे IP पैकेट की आवश्यकता होती है। उदाहरण के लिए, vpn नेटवर्क पर एक IP पते को स्कैन करना:

root@kitploit:~
sx tcp 10.1.27.1 -p 80 --json

TCP FIN स्कैन

अधिकांश नेटवर्क स्कैनर स्कैन के परिणामों की व्याख्या करने का प्रयास करते हैं। उदाहरण के लिए वे कहते हैं "यह पोर्ट बंद है" इसके बजाय "मुझे एक RST प्राप्त हुआ"। कभी-कभी वे सही होते हैं। कभी-कभी नहीं। यह शुरुआती लोगों के लिए आसान है, लेकिन जब आप जानते हैं कि आप क्या कर रहे हैं, तो आप विशेष रूप से उन्नत स्कैन तकनीकों के लिए कार्यक्रम की व्याख्या से वास्तव में क्या हुआ, यह निकालने की कोशिश करते रहते हैं।

sx उन समस्याओं को दूर करने का प्रयास करता है। यह TCP FIN, NULL, Xmas और कस्टम TCP स्कैन के लिए सभी रिप्लाई पैकेटों के बारे में जानकारी लौटाता है। जानकारी में IP पता, TCP पोर्ट और रिप्लाई पैकेट में सेट सभी TCP फ़्लैग शामिल हैं।

TCP FIN स्कैन और इसके अन्य रूपांतर (NULL और Xmas) RFC793 धारा 3.9 का शोषण करते हैं:

SEGMENT ARRIVES

If the state is CLOSED (i.e., TCB does not exist) then

all data in the incoming segment is discarded. An incoming segment containing a RST is discarded. An incoming segment not containing a RST causes a RST to be sent in response. The acknowledgment and sequence field values are selected to make the reset sequence acceptable to the TCP that sent the offending segment.

इसलिए बंद पोर्ट को RST फ़्लैग के साथ पैकेट लौटाना चाहिए।

यह धारा यह भी बताती है कि:

If the state is LISTEN then

...

Any other control or text-bearing segment (not containing SYN) must have an ACK and thus would be discarded by the ACK processing. An incoming RST segment could not be valid, since it could not have been sent in response to anything sent by this incarnation of the connection. So you are unlikely to get here, but if you do, drop the segment, and return.

मुख्य वाक्यांश यहाँ है: drop the segment, and return. तो अधिकांश ऑपरेटिंग सिस्टम पर एक खुला पोर्ट SYN, ACK और RST को छोड़कर किसी भी फ़्लैग वाले TCP पैकेट को हटा देगा।

आइए TCP FIN स्कैन के साथ किसी बंद पोर्ट को स्कैन करें:

root@kitploit:~
cat arp.cache | sx tcp fin --json -p 23 192.168.0.171

नमूना आउटपुट:

root@kitploit:~
{"scan":"tcpfin","ip":"192.168.0.171","port":23,"flags":"ar"}

flags फ़ील्ड में रिप्लाई पैकेट के सभी TCP फ़्लैग होते हैं, जहाँ प्रत्येक अक्षर एक TCP फ़्लैग का प्रतिनिधित्व करता है:

  • s - SYN फ़्लैग
  • a - ACK फ़्लैग
  • f - FIN फ़्लैग
  • r - RST फ़्लैग
  • p - PSH फ़्लैग
  • u - URG फ़्लैग
  • e - ECE फ़्लैग
  • c - CWR फ़्लैग
  • n - NS फ़्लैग

इस मामले में हम पाते हैं कि पोर्ट 23 ने ACK और RST फ़्लैग सेट के साथ रिप्लाई पैकेट भेजा (rfc793 के अनुसार बंद पोर्ट के लिए विशिष्ट प्रतिक्रिया)।

यदि हम एक खुले पोर्ट को स्कैन करते हैं, तो हमें कोई प्रतिक्रिया नहीं मिलती (जब तक कि फ़ायरवॉल प्रतिक्रियाओं की नकल नहीं कर रहा हो)।

अन्य प्रकार के TCP स्कैन सादृश्य द्वारा किए जा सकते हैं।

TCP NULL स्कैन:

root@kitploit:~
cat arp.cache | sx tcp null --json -p 23 192.168.0.171

TCP Xmas स्कैन:

root@kitploit:~
cat arp.cache | sx tcp xmas --json -p 23 192.168.0.171

कस्टम TCP स्कैन

--flags विकल्प का उपयोग करके कस्टम TCP फ़्लैग के साथ TCP पैकेट भेजना संभव है।

आइए रिमोट OS को फ़िंगरप्रिंट करने के लिए SYN, FIN और ACK फ़्लैग सेट के साथ TCP पैकेट भेजें:

root@kitploit:~
cat arp.cache | sx tcp --flags syn,fin,ack --json -p 23 192.168.0.171

Windows और MacOS इस पैकेट का जवाब नहीं देंगे, लेकिन Linux RST फ़्लैग के साथ रिप्लाई पैकेट भेजेगा।

--flags विकल्प के संभावित तर्क:

  • syn - SYN फ़्लैग
  • ack - ACK फ़्लैग
  • fin - FIN फ़्लैग
  • rst - RST फ़्लैग
  • psh - PSH फ़्लैग
  • urg - URG फ़्लैग
  • ece - ECE फ़्लैग
  • cwr - CWR फ़्लैग
  • ns - NS फ़्लैग

UDP स्कैन

sx खुले UDP पोर्ट की जांच में मदद कर सकता है। UDP स्कैन RFC1122 धारा 4.1.3.1 का शोषण करता है:

If a datagram arrives addressed to a UDP port for which there is no pending LISTEN call, UDP SHOULD send an ICMP Port Unreachable message.

TCP स्कैन के समान, sx UDP स्कैन के लिए सभी रिप्लाई ICMP पैकेटों के बारे में जानकारी लौटाता है। जानकारी में IP पता, ICMP पैकेट प्रकार और रिप्लाई पैकेट में सेट कोड शामिल है।

उदाहरण के लिए, होस्ट पर DNS सर्वर का पता लगाने के लिए, चलाएँ:

root@kitploit:~
cat arp.cache | sx udp --json -p 53 192.168.0.171

नमूना आउटपुट:

root@kitploit:~
{"scan":"udp","ip":"192.168.0.171","icmp":{"type":3,"code":3}}

इस मामले में हम पाते हैं कि होस्ट ने Destination Unreachable प्रकार और Port Unreachable कोड के साथ ICMP रिप्लाई पैकेट भेजा (rfc1122 के अनुसार बंद पोर्ट के लिए विशिष्ट प्रतिक्रिया)।

फ़ायरवॉल आमतौर पर Port Unreachable से भिन्न ICMP कोड सेट करते हैं और इसलिए आसानी से पता लगाया जा सकता है।

रेट लिमिटिंग

कभी-कभी आपको उस गति को सीमित करने की आवश्यकता होती है जिस पर उत्पन्न पैकेट भेजे जाते हैं। यह --rate विकल्प के साथ किया जा सकता है।

उदाहरण के लिए, गति को 5 सेकंड में 1 पैकेट तक सीमित करने के लिए:

root@kitploit:~
cat arp.cache | sx tcp --rate 1/5s --json -p 22,80,443 192.168.0.171

सबनेट को बाहर करें

कभी-कभी आपको स्कैनिंग से कुछ IP पतों और सबनेट को बाहर करने की आवश्यकता होती है। यह --exclude विकल्प के साथ किया जा सकता है। यह CIDR नोटेशन में बाहर करने के लिए IP या सबनेट वाली फ़ाइल निर्दिष्ट करता है, प्रति पंक्ति एक।

उदाहरण के लिए, RFC 1918 पतों को बाहर करने के लिए, निम्नलिखित सामग्री के साथ ips.txt फ़ाइल बनाएँ:

root@kitploit:~
10.0.0.0/8
172.16.0.0/16
192.168.0.0/16

आप टिप्पणियाँ और खाली पंक्तियाँ भी सम्मिलित कर सकते हैं:

root@kitploit:~
# RFC 1918 पतों को बाहर करें
10.0.0.0/8 # टिप्पणी 1
172.16.0.0/12 # टिप्पणी 2
192.168.0.0/16 # टिप्पणी 3

0.0.0.0/8 # आरंभिक प्रक्रियाओं में उपयोग किया जाता है (RFC 6890)

# RFC 5735 पतों को बाहर करें
127.0.0.0/8 # लूपबैक पता
192.0.0.0/24 # IETF प्रोटोकॉल असाइनमेंट के लिए आरक्षित ब्लॉक
224.0.0.0/4 # IPv4 मल्टीकास्ट पता असाइनमेंट में उपयोग के लिए आवंटित
240.0.0.0/4 # भविष्य के उपयोग के लिए आरक्षित

# Amazon नेटवर्क को बाहर करें
3.0.0.0/8

# IP पते भी मान्य हैं
1.1.1.1

और --exclude ips.txt विकल्प के साथ स्कैन चलाएँ।

लाइव LAN TCP SYN स्कैनर

स्कैन रचना के एक उदाहरण के रूप में, आप पूरे LAN नेटवर्क को समय-समय पर स्कैन करने वाला लाइव TCP पोर्ट स्कैनर बनाने के लिए ARP और TCP SYN स्कैन को जोड़ सकते हैं।

लाइव ARP स्कैन शुरू करें और परिणामों को arp.cache फ़ाइल में सहेजें:

root@kitploit:~
sx arp 192.168.0.1/24 --live 10s --json | tee arp.cache

दूसरे टर्मिनल में TCP SYN स्कैन शुरू करें:

root@kitploit:~
while true; do sx tcp -p 1-65535 -a arp.cache -f arp.cache; sleep 30; done

SOCKS5 स्कैन

sx सक्रिय SOCKS5 प्रॉक्सी का पता लगा सकता है। स्कैन करने के लिए, आपको एक IP रेंज या ip/port जोड़ियों वाली JSONL फ़ाइल निर्दिष्ट करनी होगी।

उदाहरण के लिए, एक IP रेंज स्कैन:

root@kitploit:~
sx socks -p 1080 10.0.0.1/16

JSON आउटपुट के साथ फ़ाइल से ip/port जोड़ियों को स्कैन करें:

root@kitploit:~
sx socks --json -f ip_ports_file.jsonl 

इनपुट फ़ाइल की प्रत्येक पंक्ति एक json स्ट्रिंग है, जिसमें ip और port फ़ील्ड होने चाहिए।

नमूना इनपुट फ़ाइल:

root@kitploit:~
{"ip":"10.0.1.1","port":1080}
{"ip":"10.0.2.2","port":1081}

आप स्कैन करने के लिए पोर्ट की एक श्रेणी भी निर्दिष्ट कर सकते हैं:

root@kitploit:~
sx socks -p 1080-4567 -f ips_file.jsonl

इस स्थिति में फ़ाइल से केवल IP पते लिए जाएंगे और port फ़ील्ड की अब आवश्यकता नहीं है।

उपयोग सहायता

root@kitploit:~
sx help

📜 संदर्भ

  • Network Security Assessment: Know Your Network 1st Edition by Chris McNab
  • ICMP Usage in Scanning - The Complete Know-How by Ofir Arkin
  • Transmission Control Protocol ( rfc793 )
  • User Datagram Protocol ( rfc768 )
  • Requirements for Internet Hosts -- Communication Layers ( rfc1122 )
  • SOCKS Protocol Version 5 ( rfc1928 )
  • Internet Control Message Protocol ( rfc792 )

🤝 योगदान

योगदान, समस्याएँ और सुविधा अनुरोधों का स्वागत है।

💎 श्रेय

लोगो mikhailtsoy.com द्वारा डिज़ाइन किया गया है

लाइसेंस

यह परियोजना MIT लाइसेंस के तहत लाइसेंस प्राप्त है। पूर्ण लाइसेंस पाठ के लिए LICENSE फ़ाइल देखें।

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