
नेटवर्क पैकेट और pcap फ़ाइल निर्माण/स्निफिंग/हेरफेर/विज़ुअलाइज़ेशन सुरक्षा उपकरण। मूल रूप से 2015 में scapy से फोर्क किया गया और तब से python3 संगतता प्रदान कर रहा है।
हाल की खबरों के लिए @pkt_kamene को फॉलो करें। kamene के लिए अद्यतन मूल दस्तावेज़
हमने नाम परिवर्तन की प्रक्रिया से गुज़रे हैं (github रेपो, pip पैकेज नाम, और python पैकेज नाम का), जिसके बाद नई कार्यक्षमता जोड़ी जाएगी। और अपडेट आगे आएंगे।
Kamene को नेटवर्क सिक्योरिटी टूलकिट रिलीज़ 28 में शामिल किया गया है। यह पहले NST में रिलीज़ 22 से पुराने नाम के तहत शामिल था।
यह scapy (http://www.secdev.org) का एक फोर्क है जिसे मूल रूप से python3 संगतता लागू करने के लिए विकसित किया गया था। यह 2015 से python3 पर उत्पादन में उपयोग किया जा रहा है (जबकि secdev/scapy ने 2018 में python3 संगतता लागू की)। फोर्क को 2018 में किसी भी भ्रम को कम करने के लिए kamene का नाम दिया गया।
ये विशेषताएँ पहले kamene में लागू की गई थीं और उनमें से कुछ अब तक scapy में फिर से लागू की जा चुकी हो सकती हैं:
स्रोत ट्री से python3 setup.py install के साथ स्थापित करें (इसे git clone https://github.com/phaethon/kamene.git के साथ प्राप्त करें) या नवीनतम प्रकाशित संस्करण के लिए pip3 install kamene।
Linux को छोड़कर सभी OS पर पैकेट भेजने और प्राप्त करने के लिए libpcap स्थापित होना चाहिए (python मॉड्यूल नहीं - केवल C लाइब्रेरी) या Windows पर winpcap ड्राइवर। कुछ OS और कॉन्फ़िगरेशन पर libdnet स्थापित करने से अनुभव बेहतर हो सकता है (MacOS के लिए: brew install libdnet)। Windows पर libdnet आवश्यक नहीं है। कुछ कम सामान्य कॉन्फ़िगरेशन पर netifaces अनुभव बेहतर कर सकता है।
पैकेट को बाइट्स में परिवर्तित करते समय bytes() (न कि str()) का उपयोग करें। अधिकांश तर्क str मान के बजाय bytes मान की अपेक्षा करते हैं, उन तर्कों को छोड़कर जो स्वाभाविक रूप से मानव इनपुट के लिए उपयुक्त हैं (जैसे डोमेन नाम)।*
आप kamene कमांड चलाकर या इंटरैक्टिव python शेल (python या ipython) या कोड से लाइब्रेरी के रूप में kamene आयात करके उपयोग कर सकते हैं।
सरल उदाहरण जिसे आप इंटरैक्टिव शेल से आज़मा सकते हैं:
from kamene.all import *
p = IP(dst = 'www.somesite.ex') / TCP(dport = 80) / Raw(b'Some raw bytes')
# पैकेट सामग्री को बाइट्स के रूप में देखने के लिए bytes(p) का उपयोग करें, str(p) नहीं
sr1(p)
ध्यान दें 'www.somesite.ex' एक स्ट्रिंग है, और b'Some raw bytes' बाइट्स हैं। डोमेन नाम सामान्य मानव इनपुट है, इस प्रकार यह स्ट्रिंग है, कच्ची पैकेट सामग्री बाइट डेटा है। एक बार उपयोग शुरू करने के बाद, यह दिखने से आसान लगेगा।
सभी समर्थित परतों को सूचीबद्ध करने के लिए ls() का उपयोग करें। सभी कमांड सूचीबद्ध करने के लिए lsc() का उपयोग करें।
वर्तमान में, Linux, Darwin, Unix और अन्य पर काम करता है। परीक्षण के लिए Ubuntu, MacOS, FreeBSD, Windows 10 पर python 3.4+ का उपयोग करना।
scapy-http मॉड्यूल के साथ संगत
rdpcap पूरी pcap फ़ाइल को मेमोरी में पढ़ता है। यदि आपको विशाल फ़ाइल को संसाधित करने और प्रति पैकेट कुछ ऑपरेशन करने या कुछ आँकड़े गणना करने की आवश्यकता है, तो आप इटरेटर इंटरफ़ेस के साथ PcapReader का उपयोग कर सकते हैं।
with PcapReader('filename.pcap') as pcap_reader:
for pkt in pcap_reader:
#पैकेट के साथ कुछ करें