Home » , , » شرح كامل عن برنامج wireshark 2014

شرح كامل عن برنامج wireshark 2014

 شرح كامل عن برنامج wireshark 2014

مقدمة الى إستعمال ‪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

شرح كامل عن برنامج wireshark 2014

معلومات حول الموضوع

شرح كامل عن برنامج wireshark 2014 العنوان : شرح كامل عن برنامج wireshark 2014
الوصف :  شرح كامل عن برنامج wireshark 2014 مقدمة الى إستعمال ‪Wireshark‬‬  شرح كامل عن برنامج wireshark 2014 خطأ شائع يقع فيه الكثير حين يود إلتقاط ...
تقييم الموضوع : 4.5
الكاتب : غير معرف

0 التعليقات:

إرسال تعليق

اضف ايميلك ليصلك جديدة المدونة:



Delivered by FeedBurner
اخبار بعدين