مفهوم مكتبة Scapy في لغة بايثون - ProgrammerTech
Language:

Search

مفهوم مكتبة Scapy في لغة بايثون

  • Share this:
مفهوم مكتبة Scapy في لغة بايثون

مكتبة سكابي scapy في لغة بايثون

مكتبة ( scapy ) هي مكتبة رائعة و قوية في إجراء عمليات السنيفنغ sniffing على حزم الشبكات و التعديل عليها. درسنا اليوم عن الـ sniffing لكن يتركز على مكتبة scapy و تحدثت سابقاً بأن هذه المكتبة افضل بيئة للعمل عليها هي لينكس لضمان عدم حدوث أي مشاكل نهائياً و إنها مكتبة قوية في مجالها و هي تتعامل مع حزم الشبكات في الدرجة الأولى حيث يمكنها إعادة صياغة و فك الشيفرات لمجموعة كبيرة من الحزم للبروتوكولات المختلفة ثم تقوم بإلتقاط هذه الحزم و إعادة إرسالها إلى الشبكة.

يمكن لمكتبة سكابي scapy مسح الشبكة و تتبع مسار الشبكة و فحص الوحدات في الشبكة و الهجمات.

  1. يمكن لمكتبة سكابي scapy أن تقوم بما يقارب 80% من عمل أداة nmap و tcpdump و العديد من العمليات.
  2. يمكن لمكتبة سكابي حقن الإطار 802.11 و فك تشفير voip على القنوات المشفرة WEP.

 

كيفية تثبيت مكتبة سكابي scapy

1- يجب أن يكون لدينا python3 و نستخدم الأمر التالي.

sudo apt-get install python3-pip

بهذا الأمر سوف يُخبرنا أنها مثبتة لأن البايثون3 مثبتة من الأساس في لينكس.

2- نستخدم الأمر التالي لتنزيل scapy.

pip install scapy-python3

بهذه الخطوة سوف يبدأ بتنزيل المكتبة لكن سيطال الأمر قليلاً حتى يتم الاتصال connection.

نقوم بفتح الشل python3 بصلاحيات الروت و نكتب

>>> from scapy.all import *
>>> def pk_print(pkt):
     pkt.show()    
>>> sniff(iface="eth0" ,prn=pk_print,filter="tcp",store=0)

في البداية إستدعينا كل* مكتبة scapy عبر الأمر scapy.all و سوف ينتظر قليلاً حتى يستدعيها و بعده بدأنا بكتابة دالة لإستقبال البيانات بشكل دائم من pkt و طبعها, و بعدها كتبنا show.pkt يعني إعرض لنا الـ pkt. الـ iface هي الإنترفيس لدينا و أتينا بها من الأمر ifconfig.

و prn هي إسم الدالة و filter هي البيانات التي نُريد إستخراجها من عملية sniffing, و عند حدوث أي إتصال tcp سوف يبدأ السكربت بالعمل مثلاً نفتح تيرمنال جديدة و نعمل فحص عن طريق أداة nmap لموقع ما و نرى بأن السكربت بدأ يعمل بشكل طبيعي, و نستطيع تبديل الإتصال إلى icmp ايضاً لرصد إتصالات ICMP مثلاً عمل ping لموقع ما.

مكتبة scapy افضل بيئة لها لينكس و مكتبة socket الويندوز.


Tags:
Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com