प्रोटोकॉल की व्यापक श्रेणी में नेटवर्क पैकेटों को फोर्ज करने, डिकोड करने, भेजने, कैप्चर करने और विश्लेषण करने के लिए एक पायथन-आधारित इंटरैक्टिव पैकेट हेरफेर लाइब्रेरी, जो स्कैनिंग, ट्रेसरूटिंग, हमलों और नेटवर्क डिस्कवरी का समर्थन करती है।
ScapyScapy एक शक्तिशाली Python-आधारित इंटरैक्टिव पैकेट मैनिपुलेशन प्रोग्राम और लाइब्रेरी है।
यह कई प्रोटोकॉल के पैकेट बनाने या डिकोड करने, उन्हें नेटवर्क पर भेजने, उन्हें कैप्चर करने, pcap फ़ाइलों का उपयोग करके उन्हें संग्रहीत या पढ़ने, अनुरोधों और उत्तरों का मिलान करने, और बहुत कुछ करने में सक्षम है। इसे ऐसे डिफ़ॉल्ट मानों का उपयोग करके तेज़ पैकेट प्रोटोटाइपिंग की अनुमति देने के लिए डिज़ाइन किया गया है जो काम करते हैं।
यह स्कैनिंग, ट्रेसरूटिंग, प्रोबिंग, यूनिट टेस्ट, हमलों या नेटवर्क डिस्कवरी जैसे अधिकांश पारंपरिक कार्यों को आसानी से संभाल सकता है (यह hping, nmap के 85%, arpspoof, arp-sk, arping, tcpdump, wireshark, p0f, आदि को प्रतिस्थापित कर सकता है)। यह कई अन्य विशिष्ट कार्यों में भी बहुत अच्छा प्रदर्शन करता है जिन्हें अधिकांश अन्य उपकरण संभाल नहीं सकते, जैसे अमान्य फ़्रेम भेजना, अपने स्वयं के 802.11 फ़्रेम इंजेक्ट करना, तकनीकों का संयोजन (VLAN हॉपिंग+ARP कैश पॉइज़निंग, WEP-संरक्षित चैनल पर VoIP डिकोडिंग, ...), आदि।
Scapy Python 3.9+ का समर्थन करता है। इसका उद्देश्य क्रॉस-प्लेटफ़ॉर्म होना है, और यह कई अलग-अलग प्लेटफ़ॉर्म (Linux, OSX, *BSD, और Windows) पर चलता है।
Scapy का उपयोग शेल या लाइब्रेरी के रूप में किया जा सकता है। अधिक जानकारी के लिए, कृपया Getting started with Scapy पर जाएँ, जो दस्तावेज़ीकरण का हिस्सा है।
Scapy का उपयोग नेटवर्क के साथ इंटरैक्ट करने के लिए एक इंटरैक्टिव शेल के रूप में आसानी से किया जा सकता है।
निम्नलिखित उदाहरण दिखाता है कि github.com पर ICMP Echo Request संदेश कैसे भेजें, फिर उत्तर के स्रोत IP पते को कैसे प्रदर्शित करें:
sudo ./run_scapy
Welcome to Scapy
>>> p = IP(dst="github.com")/ICMP()
>>> r = sr1(p)
Begin emission:
.Finished to send 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> r[IP].src
'192.30.253.113'
प्रलेखन में अधिक उन्नत उपयोग के मामले और उदाहरण शामिल हैं।
अन्य उपयोगी संसाधन:
Scapy Linux और BSD जैसे ऑपरेटिंग सिस्टम पर बिना किसी बाहरी Python मॉड्यूल के काम करता है। Windows पर, आपको कुछ अनिवार्य निर्भरताएँ इंस्टॉल करनी होंगी, जैसा कि प्रलेखन में वर्णित है।
अधिकांश सिस्टम पर, Scapy का उपयोग करना निम्नलिखित कमांड चलाने जितना ही सरल है:
git clone https://github.com/secdev/scapy
cd scapy
./run_scapy
सभी Scapy सुविधाओं, जैसे प्लॉटिंग, का लाभ उठाने के लिए, आपको Python मॉड्यूल जैसे matplotlib या cryptography इंस्टॉल करने की आवश्यकता हो सकती है। दस्तावेज़ीकरण देखें और उन्हें इंस्टॉल करने के निर्देशों का पालन करें।
Scapy का कोड, परीक्षण और उपकरण GPL v2 के अंतर्गत लाइसेंस प्राप्त हैं।
दस्तावेज़ीकरण (doc/ में अन्यथा चिह्नित न होने वाली सभी चीज़ें, और लोगो को छोड़कर) CC BY-NC-SA 2.5 के अंतर्गत लाइसेंस प्राप्त है।
योगदान देना चाहते हैं? बहुत बढ़िया! कृपया कुछ मिनट निकालकर यह पढ़ें!