
أداة أمنية لإنشاء/التقاط/معالجة/تصور حزم الشبكة وملفات pcap. تم اشتقاقها أصلاً من scapy في عام 2015 وتوفر التوافق مع python3 منذ ذلك الحين.
تابع @pkt_kamene لآخر الأخبار. التوثيق الأصلي المحدّث لـ kamene
خضنا عملية انتقال في التسمية (لمستودع github، واسم حزمة pip، واسم حزمة python)، والتي ستتبعها وظائف جديدة. المزيد من التحديثات قادمة.
Kamene مضمّن في Network Security Toolkit الإصدار 28. كان مضمّنًا في NST منذ الإصدار 22 تحت الاسم السابق.
هذا فرع من scapy (http://www.secdev.org) طُوّر في الأصل لتنفيذ التوافق مع python3. تم استخدامه في الإنتاج على python3 منذ 2015 (بينما نفّذ secdev/scapy التوافق مع python3 في 2018). تمت إعادة تسمية الفرع إلى kamene في 2018 لتقليل أي لبس.
هذه الميزات طُبّقت لأول مرة في kamene وقد يكون بعضها أُعيد تطبيقه في scapy حتى الآن:
ثبّت باستخدام python3 setup.py install من شجرة المصدر (احصل عليها عبر git clone https://github.com/phaethon/kamene.git) أو pip3 install kamene لأحدث إصدار منشور.
على جميع أنظمة التشغيل باستثناء Linux يجب تثبيت libpcap لإرسال واستقبال الحزم (ليست وحدات python - فقط مكتبات C) أو برنامج تشغيل winpcap على Windows. على بعض أنظمة التشغيل والتكوينات قد يؤدي تثبيت libdnet إلى تحسين التجربة (لـ MacOS: brew install libdnet). على Windows لا يُطلب libdnet. على بعض التكوينات الأقل شيوعًا قد يحسّن netifaces التجربة.
استخدم bytes() (وليس str()) عند تحويل الحزمة إلى بايتات. معظم الوسائط تتوقع قيمة bytes بدلاً من قيمة str باستثناء تلك المناسبة طبيعيًا للإدخال البشري (مثل اسم النطاق).*
يمكنك استخدام kamene بتشغيل أمر kamene أو باستيراد kamene كمكتبة من قشرة python التفاعلية (python أو ipython) أو من الكود.
مثال بسيط يمكنك تجربته من القشرة التفاعلية:
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 وما شابه. باستخدام python 3.4+ على Ubuntu وMacOS وFreeBSD وWindows 10 للاختبار.
متوافق مع وحدة scapy-http
يقرأ rdpcap ملف pcap كاملًا في الذاكرة. إذا كنت بحاجة إلى معالجة ملف ضخم وتنفيذ عملية ما لكل حزمة أو حساب بعض الإحصائيات، يمكنك استخدام PcapReader مع واجهة المكرر.
with PcapReader('filename.pcap') as pcap_reader:
for pkt in pcap_reader:
#افعل شيئًا مع الحزمة