‫مقدمة الى إستعمال ‪Wireshark‬‬

خطأ شائع يقع فيه الكثير حين يود إلتقاط البيانات/الحزم بواسطة Wireshark حيث يقوم بإلتقاط جميع الحزم، وهناك قاعدة هنا تقول:
العبرة ليست بكثرة المعلومات، ولكن بدقتها !

وهذه مقولة صحيحة، فكلما كانت عدد المعلومات والتي هي هنا “الحزم” الملتقطة أقل أو بالأحرى أدق، كلما سهل تتبع المشكلة أو الأمر المراد الإستكشاف عنه بسهولة … في هذا الموضوع سأوضح ولو بشكل مبسط أساسيات إستعمال Wireshark وذلك لكي يكون نقطة إنطلاق لكم … حيث سأوضح كيفية إستعمال أبسط الفلاتر للوصول الى معلومات بشكل أدق …

الفلاتر في Wireshark نوعان:

Capture Filters: وهي الفلاتر التي تحددها لكي يتم تسجيلها. هذه الفلاتر يتم تحديدها قبل عملية تشغيل التسجيل/الإلتقاط للحزم.
Display Filters: وهي الفلاتر المستعملة للبحث داخل البيانات/المعلومات المسجلة أو الملتقطة من قبل Wireshark. يمكن إستخدامهم أثناء قيام Wireshark بستجيل الحزم.

الآن ربما يتسائل أحدكم: طيب أيهما أستعمل؟
الجواب ببساطة هو إن النوع الأول من الفلترة يستعمل وذلك لتقليل حجم الحزم المسجلة وبالتالي عدم الحصول على سجل من الحزم الكبير جداً. أما الثاني فهو أكثر قوة ولكنه أكثر تعقيداً بنفس الوقت، ويستعمل لكي تبحث عن بيانات أو معلومات محددة داخل الحزم المسجلة.

ملاحظة مهمة جداً:
النحو أو الـ Syntax لكلا النوعين مختلف كلياً …

أولاً: Capture Filters

النحو أو Syntax لهذا النوع من الفلاتر هو نفسه المستعمل من قبل البرامج التي تعتمد على مكتبة Lipcap … مثل هذه البرامج tcpdump … الفلتر يجب وضعه قبل تشغيل عملية تسجيل/إلتقاط الحزم بواسطة Wireshark … أي تعديل على هذه الفلاتر يجب إعادة تشغيل عملية التسجيل/الإلتقاط من البداية … اي لا تستطيع التعديل عليهم أثناء عملية التسجيل كما في الفلاتر من نوع Display …

الآن لبدأ الفلترة من هذا النوع، قم بالضغط على Capture ومن ثم على Interfaces ومن ثم أختر Options للمنفذ Interface الذي تريد عمل الفلترة على ما يسجله أو يلتقط …

الآن في الحقل المسمى capture filter أما أن تكتب الفلتر المراد إستعماله، أو القيام بالضغط على الزر هذا نفسه ومن ثم عمل فلتر بإسم جديد وذلك لكي تستطيع إعادة إستعماله في المستقبل … ولهذا ضع في Filter Name إسم الفلتر المراد حفظه به، وضع الفلتر المراد إستعماله في الحقل Filter String … ثم بعد أن تنتهي أضغط على Ok وأضغط لبدأ عملية التسجيل على Start …

الآن النحو الخاص بهذا النوع من الفلترة هو على الشكل التالي:

[protocol] [direction] [host(s)] [value] [logical operations] [other expression]

قيمة protocol ممكن تكون أحد التالي:

ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp, udp

في حالة لم يتم تحديد بروتوكول معيين، يتم إستعمالهم كلهم …

قيمة direction ممكن تكون أحد التالي:

src
dst
src or dst
src and dst

إذا لم يتم تحديد لا src ولا dst يتم إختيار الخيار src or dst

قيمة host ممكن تكون أحد التالي:

net, port, host, portrange

اذا لم تقم بتحديد خيار معيين، فإنه سيتم إختيار host …
مثال:

src host 192.168.1.1

أو

src 192.168.1.1

كلاهما يعطي نفس الفلتر بالمناسبة …

قيمة logical operations ممكن تكون أحد التالي:

not, and, or

تحصل not على الأسبقية إن وجدت، بينما كل من or و and يحصلون على نفس الأسبقية، ولكن تفعل من تأتي أولاً … ملاحظة: الأسبقية تبدأ من اليسار الى اليمين.

أمثلة:
أعرض الحزم التي وجهتها الى البروتوكول tcp على المنفذ 3128

tcp dst port 3128

أعرض الحزم التي عنوان المصدر لها 10.0.0.22

ip src host 10.0.0.22

أعرض الحزم التي مصدرها أو وجهتها الى 10.0.0.22

host 10.0.0.22

أعرض الحزم التي مصدرها من احد المنافذ التي بين 2000 و 2500 سواءاً كان البروتوكول tcp او udp

src portrange 2000-2500

أعرض جميع الحزم بإستثناء الحزم التي من نوع icmp

not icmp

أعرض جميع الحزم التي مصدرها 172.16.2.2 وفي نفس الوقت ليست ذاهبة الى الشبكة 172.16.4.0/16

src host 172.16.2.2 and not dst net 172.16.4.0/16

أعرض جميع الحزم التي مصدرها العنوان 172.16.2.2 أو الشبكة 172.16.4.0/16 ومن ثم تأكد بإنها متجهة الى أحد المنافذ التي ما بين 1 و 1024 على الشبكة 172.16.0.0/16

(src host 172.16.2.2 or src net 172.16.4.0/16) and tcp dst portrange 1-1024 and dst net 172.16.0.0/16

ثانياً: Display Filters

هذا النوع من الفلاتر يستعمل للبحث داخل الحزم المسجلة بواسطة Capture Filter. الإمكانيات المتوفرة للبحث من خلال هذا النوع عالية وكبيرة جداً، تتجاوز ما يستطيع النوع الأول من الفلاتر عمله. إن أي تعديل على هذه الفلاتر لا تحتاج الى إعادة تشغيل عملية التسجيل/الإلتقاط من البداية … اي تستطيع أن تضيف وتحذف وتعدل عليهم أثناء عملية التسجيل وليس كما في الفلاتر من نوع Capture …

الآن النحو الخاص بهذا النوع من الفلترة هو على الشكل التالي:

[protocol] [string(s)] [comparison operator] [value] [logical operations] [other expression]

بخصوص قيمة protocol
هناك كم هائل من البروتوكولات الموجودة بين الطبقة الثانية والطبقة السابعة من نموذج الـ OSI. مثال على ذلك:

TCP, IP, ICMP, DNS, SSH, HTTP, etc

لرؤية جميع البروتوكولات، أضغط على Expression كما في الصورة:

ستظهر لك شاشة فيها جميع البروتوكولات الذي يتعرف عليها البرنامج، كما في الصورة التالية:

أو يمكنك الضغط على Help ومن ثم Supported Protocols لرؤية البروتوكولات المدعومة بشكل آخر، كما في الصورة التالية:

بخصوص قيمة strings
وهي قيمة إختيارية، يمكن من خلالها إختيار بروتوكولات فرعية لبروتوكول معيين. لرؤية مثل هذا النوع أضغط على الرمز + الموجود في صفحة الفلاتر.

بخصوص قيمة comparison operator
هناك ستة أنواع، يمكن إستعمالهم بطريقتين مختلفتين. كلا الطريقتين موضحة بالجدول التالي:
المعنى أو توضيح لما تمثله الصيغة
صيغة كود لغة البرمجة C:

==, !=, >, <, >=, <=

صيغة اللغة الإنجليزية:

eq, ne, gt, lt, ge, le

والتي تمثل: يساوي، لا يساوي، أكبر من، أصغر من، أكبر من أو يساوي، أصغر من أو يساوي … على التوالي …

تستطيع إستعمال أي من الصيغ التي تناسبك، سواءاً التي بالأنجليزي او كود لغة C اختر ما يناسبك.

بخصوص قيمة logical operations:
هناك أربعة أنواع، يمكن أيضاً إستعمالهم بصيغتين، الأنجليزية وكما في كود لغة البرمجة C. كلا الطريقتين موضحة بالجدول أدناه:
المعنى أو توضيح لما تمثله الصيغة

صيغة كود لغة البرمجة C:

&&, ||, !

صيغة اللغة الإنجليزية:

and, or, not

والتي تمثل: Logical AND و Logical OR و Logical NOT على التوالي …

أمثلة:
لعرض الحزم التي مصدرها 10.1.1.1 او متوجهة الى 10.1.1.1

ip.addr == 10.1.1.1

لعرض فقط حزم SNMP و DNS و ICMP

snmp || dns || icmp

لعرض الحزم التي مصدرها source ليس 172.16.0.1 او التي هدفها destination ليس 172.16.0.2، يعني بعبارة أخرى أعرض كل شيء مصدره ليس 172.16.0.1 وكل شيء هدفه ليس 172.16.0.2

ip.src != 172.16.0.1 or ip.dst != 172.16.0.2

لعرض حزم من نوع tcp منفذ مصدرها source port أو المنفذ المتجهة destination port اليه هو 25

tcp.port == 25

هذا الفلتر لا يجوز مثلا كتابته هكذا

tcp.port = 25

هذه الطريقة خاطئة … يجب وضع علامتي == بدل من واحدة …

لعرض حزم من نوع tcp متجهة الى المنفذ destination port رقم 110

tcp.dstport == 110

لعرض حزم بروتوكول tcp التي تحمل أعلام

tcp.flags

لعرض حزم بروتوكول tcp تحمل علم tcp syn

tcp.flags.syn == 0x02

ملاحظة:
أي فلتر تقوم بإدخاله إذا كان صحيحاً سيتحول المستطيل الذي كتبت فيه الفلتر الى اللون الأخضر، أما إذا كان خاطئاً سيتحول الى اللون الأحمر …

طبعاً هناك آلاف الفلاتر التي تستطيع عملها، أنا كتبت مجرد الأساسيات وربما أقل من الأساسيات بكثير … أحببت أن أضعك عزيزي القاريء على الطريق وأنت تكمل لوحدك … كل ما عليك فعله هو القراءة وتجربة …

((يمكن تحميل هذا الموضوع على شكل pdf من هنا ))

مصادر:
Capture Filters
Tcpdump
Build Display Filters
Display Filters
Display Filters Reference

نبذة عن الكاتب

علي ([email protected]). دكتوراة في أنظمة الحاسوب. يعمل كأستاذ جامعي في قسم علم الحاسوب. مختص في التحقيقات الجنائية الالكترونية والإستجابة للحوادث الالكترونية (DFIR)، أمن الشبكات وتحليلها، وكذلك أمن أنظمة التشغيل المختلفة. حاصل على العديد من الشهادات التقنية، وسابقاً كان يعمل كمختص في جدر النّار، أنظمة كشف الاختراق، ادارة الثغرات والترقيعات، حماية الأنظمة، فحصوصات الاختراق، وتطبيق السياسات. مسؤول سابق عن متابعة وتطبيق (PCI DSS).

التعليقات:

اترك تعليقاً | عدد التعليقات: (27)

  1. يقول عبدالله:

    جزاك الله خير …
     
    شرح رائع …

    • يقول سما الجوري:

      أستاذ علي الشمري حضرتك شرحت عن wireshark ممکن محتاجة مساعدة جدا ضرورية لو سمحت .. السؤال هو .. كيف نستخدم الوايرشارك في تحليل الشبكات في حالة الأن لاين والأوف لاين وكمان مع ريل تايم و ناون ريل تايم والمطلوب مني عمل مقارنة ارجو منكم مساعدتي مع جزيل شكري واحترامي

  2. يقول [email protected]:

    ويجزيك، حياك الله اخي عبد الله …

  3. يقول m3tac0d3r:

    رائع جدا جدا جدا أستاذنا
     
    استفدتُ كثيرًا ههُنا .. كما إستمتعتُ أكثرْ ..
     
    زادك الله علما ووفقك لكل خيرٍ أينما حللت
     
    شكرًا لك.

  4. يقول r1c4rd0:

    السلآآآم عليكم ورحمة الله وبركاته !

    الصرآآحه شرح جميل !

    ولكن أعتقد لتطبيق الفكرة ولوصووول المعلومه بالشكل المطلوب !
    يجب أن يكون الشرح Video أو على الأقل صور !

    يوجد بعض المقالات لاتحتاج إلى شرح فيديو أو صور في بعض الأحيان !

    ولكن بعض الشروحات أعتقد تحتآجج ! مثل هذا الدرس !

    تحيآآتي !

  5. يقول L!nuxawi:

    ما شاء الله تبارك الله شرح رائع بكل ما تحملة الكلمة من معنى ,,,
    وشلون لو كان صادر من أبو محمد الغالي
    حبيبي أبو محمد كيف حالك عزيزي -بعد طول إنقطاع-  =)  أسأل الله أن تكون بخير وعافية ,,,
    أبارك لكم إفتتاح هذا الصرح العملاق أسأل الله أن ييسر لكم أموركم …
    أخوك المحب

  6. يقول XxRa3eDxX:

    ما شاء الله …
    الله يخليك لأهلك يا رب .. ويشرح صدرك بالعلم والإيمان ..
    ابداع من المبدع …
    ننتظر المزيد ..
    سلام عليكم

  7. يقول AboMahammed:

    مشكووووووووووور وجزاك الله خيرا ..
    وأسال الله الكريم أن يبارك فيك وفي عمرك وفي جهدك الطيب
    وهذا رابط لشروحات بسيطه بالفيديو للبرنامج
    http://kiwii.org/browse/contents/wireshark-tutorials/109101

  8. يقول [email protected]:

    m3tac0d3r@ حياك الله اخي الكريم … وشكرا لدعواتك الطيبة … إن شاء الله نواصل كل ما هو جديد …

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

    L!nuxawi@ حياك الله اخوي احمد … أنا بخير الله يحفظك واتمنى إنك كذلك … الله يبارك بيك وبعمرك وإن شاء الله يكون هذا الصرح محل فائدة للجميع … شكرا يا احمد لمرورك وإن شاء الله تستفيد من الموقع ولو القليل …

    XxRa3eDxX@ الله يخليك يارب اخوي رعد … وشكرا لكلامك ودعواتك الطيبة خجلتني بهم … أشكرك جزيل الشكر يا خوي … إن شاء الله تجد دائما مواضيع مفيدة …

    AboMahammed@ حيا الله أبو محمد … شكرا يا خوي لدعواتك وكلماتك الطيبة وللرابط الذي أضفته لكي نستفيد كلنا منه … شكرا يا خوي وجزاك الله خير …

    شكرا يا شباب لمروركم نورتم الموقع … فلا تحرمونا من تواجدكم معنا …
    دمتم بود …

  9. يقول MaaMraa:

    واصل ابداعك يا دكتور….

    شرح ولا اروع

    شكرا لك

  10. يقول wedo_ksa:

    حيرتنا دكتور

    ما بقي كلمات شكر نشكرك بيها

    لكن مالي الا ادعي لك

    الله يبارك لك بعلمك ورزقك وعملك ويزيدك فيهم مالم تتوقعه

  11. يقول علي الشّمري:

    MaaMraa، wedo_ksa
    حياكم الله يا شباب … شكراً على كلامكم الطيب ودعواتكم …
    نورتوا المجتمع والموضوع … إن شاء الله القادم أجمل 🙂

  12. يقول ضياء:

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

  13. يقول ام فاطمة:

    انا ماني فاهمه شي شنو الهدف من هذا كله ؟
    ؟؟؟؟
    ممكن احد يفهمني من الصفرررر !!!

  14. يقول علي الشّمري:

    ضياء@ حياك الله اخي الكريم، ونتمنى أن تستفيد من محتوى الموقع …

    أم فاطمة@ الموضوع عن إلتقاط الحزم …

  15. يقول aqn:

    اخي انا طالبة ماستر ومحتاجه افهم منك بعض الأشياء
    ممكن ؟

  16. يقول محمد حمود:

    السلام عليكم ورحمة الله وبركاته

    شكرا لك اخي الكريم علي الشمري

    الله يعطيك الف عافية

    والله انك في قمة الابداع

    عندي سؤال واريد الحل انا عندي حزمة ملتقطة

    والتقاتها كان عن طريق الباك تراك

    الحزمة ملتقطة لشبكة لاسلكية كيف التعامل مع هذه الحزمة

    مع العلم اني قد اتطلعت على من كان متصل بالشبكة كي احصل على الهاند شك

    وبحثت في ملفات المتصل بالشبكة عن طريق الواي شارك ورائيت ال wpa key وجنبها مشفر

    1ce3a133e4155097f501f25026dbe5174fb2257bdffb4ece768c84e22cb8cf23c5931e5d1bef8d100c6705ff8f56511e22e64d250210b4bad7fe6a92d9be

    هل هو تشفير وما نوع التشفير وكيف من الممكن فك هذا التشفير

    وعندما ضغط عليه ظهر لي

    0000 1c e3 a1 33 e4 15 50 97 f5 01 f2 50 26 db e5 17 …3..P….P&…
    0010 4f b2 25 7b df fb 4e ce 76 8c 84 e2 2c b8 cf 23 O.%{..N.v…,..#
    0020 c5 93 1e 5d 1b ef 8d 10 0c 67 05 ff 8f 56 51 1e …]…..g…VQ.
    0030 22 e6 4d 25 02 10 b4 ba d7 fe 6a 92 d9 be “.M%……j…

    عندما وصلت الى هنا لم اعرف ماذا افعل فا ياريت اخي علي الشمري الاستفادة

    الله يخليك ويطول بعمرك يارب

  17. يقول محمد حمود:

    العفو اخي كي يتضح ما كتبته ضغطت على كونترول + شيفت لان عندما اضفت التعليق انعكس الكلام

    شكرا لمجهودك

    الله يعطيك الف عافية

  18. يقول ahmedzas:

    هل ينفع البرنامج للعبة ولف تيم…………..
    لحل مشكلة فشل الاتصال عن طريق بروتوكول UDP

  19. يقول عزو:

    مرحبا اريد استفسار عن طريقة استخدام Wireshark لحساب التاخير والفقد لبروتوكول UDP

  20. يقول maeen:

    حلووووووووووووو ربنا يخليك

  21. يقول dong:

    هل يمكن الالستفاده من البرنامج فى تحليل البيانات المتعلقه بالصرافات الاليه

  22. يقول سما الجوري:

    أستاذ علي الشمري حضرتك شرحت عن wireshark ممکن محتاجة مساعدة جدا ضرورية لو سمحت .. السؤال هو .. كيف نستخدم الوايرشارك في تحليل الشبكات في حالة الأن لاين والأوف لاين وكمان مع ريل تايم و ناون ريل تايم والمطلوب مني عمل مقارنة ارجو منكم مساعدتي مع جزيل شكري واحترامي

  23. يقول yaqoob:

    ممكن سوال لو سمحت

  24. يقول yaqoob:

    معي كم سوال بسالك فيهم عبر الايميل ضروري

    ممكن ترسلي بالايميل بتاعك لو تكرمت

  25. يقول yaqoob:

    شرحك جميل ربنا يستر عليك

  26. يقول shenwar:

    كيف حالك اخي العزيز انا اريد ان اتعلم و اعرف بعض جواب بعض الاسئلة ارجوك اريد مساعدتك

أكتب تعليق