ما هو؟ SNIFFER
هو في الحقيقة Packet Sniffer وحاليا ليس هناك ترجمة مناسبة له، فنستخدم مؤقتا لفظ سنيفر, السنيفر أداة للحصول علي

رزم البيانات في البيئة الشبكية. وبما أن شكل هذه الرزم تختلف، يحتوي السنيفر عادة علي إمكانية تحليل البروتوكول

المستخدمة بما يسمح له بعرض البيانات في شكل خام أو plain text( إذا لم يكن مشفرا ) السنيفر لا يستطيع الحصول علي

رزم البيانات الخاصة للجهاز الذي تم تشغيله فقط، بل يستطيع الحصول علي رزم البيانات الخاصة للاجهزة التي تم

وصله بالشبكة نفسها ، هذا صحيح في بيئة شبكات التي تعتمد علي اجهزة مثل المفرع hub وتقنية إيثرنت Ethernet ،

وتسمي Shared media، لأن رزم البيانات ترسل لكل عقدة ( جهاز ) في الشبكة ويتم قبوله من صاحب الرزمة والباقي ترفضه

وتقنية إيثرنت تعتمد علي المشاركة، بمعني ان كل عقدة في الشبكة بإمكانها رؤية البيانات كما ذكرنا، ولذلك تحتوي

بطاقات إيثرنت علي مرشح لتجاهل الرزم التي لا تخصها عن طريق فحص عناوين MAC ولعرض عنوان MAC الخاص بجهازك، في بيئة ويندوز9x، شغل Winipcfg.exe

وفي بيئة W2K/XP ، شغل ipconfig.exe /all ، وفي بيئة لينكس ifconfig ( في حالة ارسال واستقبال بيانات مستمر،

تستطيع عرض عنوان MAC للجهاز الذي تخاطبه حاليا بأمر ARP -A )ولا يمكن هذا الامر ( الحصول علي بيانات جميع الاجهزة

في الشبكة ) عادة في بيئة الشبكات التي تستخدم اجهزة مثل البدالات Switch لان البدالة ذكي ولا يرسل الرزم إلا إلي

الجهاز صاحبها .. ( هناك سنيفر DSniff يستطيع الحصول علي رزم الاجهزة الاخري حتي في بيئة Switched Media)..

لأي شيء يستخدم؟
هناك برامج سنيفر مختلفة كثيرة، بعضها مجانية وبعضها غير مجانية، وتختلف كثيرا في إمكانياتها, من سنيفر متقدم

جدا يسمح بتحليل ومراقبة بيانات شبكات موسعة وليست فقط شبكات محلية وبشكل عام يستخدم لـ

1 : للحصول علي كلمات السر، ومحتويات بريد الالكتروني ( غير مشفر) ...

2 - لتحويل رزم البيانات إلي حالة تسمح للإنسان بقرائتها وتحليلها ....

3 - لاكتشاف مشاكل الشبكات ومراقبة أدائها، عن طريق تحليل رزم مثل ICMP/IGMP/SNMP الح

4 - ضمن برامج مثل أنظمة الكشف عن التطفل IDS لتحليل البيانات ..

5 - لتسجيل سريان البيانات لشبكة ما logging....

*-*-*-*-*-*-*-*-*-*-*-*-*
كيف يعمل ؟

كما قلنا سابقا، بطاقات إيثرنت تحتوي علي مرشح، وبرامج سنيفر تقوم بتعطيل عمل هذا المرشح بحيث الجهاز يستقبل كل البيانات،

التي تخصه وتخص غيره.. ويسمي promiscuous mode وفي عمله، فضلا عن بطاقات إيثرنت يعتمد علي مشغل Capture Driver

او Packet Driver ( في بيئات ويندوز مشغل في مستوي Ring0 بحيث يستطيع مخاطبة العتاد مباشرة ) وبعد الحصول

علي رزم البيانات من إيثرنت --> مشغل الرزم تاتي مرحة التحليل، ويتم فحصها، وأول طبقه للرزم عبارة عن ترويسة Ethernet،

ثم IP ثم TCP او UDP حسب الاستخدام وثم البيانات الحقيقية والترويسات السابقة تحتوي علي معلومات غزيرة جدا، بدا

من نوع البروتوكول، وجهة ومصدر الرزمة، والمنفذ المستخدم ويمكن معرفة نوع نظام التشغيل الخ بعدها عملية حل رموز

رزمة البيانات Decode، وعرضها في شكل Plain Text ( بعض المشغلات زيادة، تقدم إمكانية تكوين رزم خاصة وإرسالها

إلي الشبكة مثل WinPCap، LibpCap )

كيفية تطويرها؟

تم عمل أوائل برمجيات سنيفر لبيئات unix/linux ومن أشهرها TCPdump، وتم عمل مكتبة ومشغل LibPcap و

BPF Berkeley Packet Filter الشهيرة ... كثير من برامج سنيفر وجدران النار في بيئة لينكس يستخدم هذه المكتبة

أما في بيئة ويندوز، فقبل W2K/XP كانت عمل سنيفر صعبة نوعا ما، لأنه يتطلب كتابة مشغل خاص، مما يعني يتطلب قدرات

برمجية قوية لويندوز، وبالفعل تم نقل LibpCap إلي بيئة ويندوز تحت اسم WinPcap ... تعمل علي كل إصدارات ويندوز تقريبا،

وتم عمل برامج سنيفر بها، مثل Ethereal, Analyzer وغيرها ... وتم أيضا نقل TcpDump باسم Windump ثم تم إنتاج برمجيات

لبروتوكولات معينة مثل HTTP,ARP، وهناك برامج سنيفر متخصصة في تحليل والحصول علي كلمات السر من بروتوكولات

مثل IM,POP,ICQ وأيضا دعمت مايكروسوفت بدا من W2K/XP مكتبة WinSock بقدرة تستطيع إستقبال كل الرزم للشبكة

ولا حاجة لمشغل خاص، ولكنها ليست في قوة المشغل الخاص مثل Winpcap التي بإمكانها أخذ الرزم من البطاقة مباشرة

بمستوي إيثرنت، أما Winsock فيستطيع أخذ الرزم في مستوي IP ولا يمكن الحصول علي بيانات رزم إيثرنت

كيف الحماية من سرقة المعلومات الحساسة عن طريق سنيفر؟

يصنف عمليات التلصص بالسنيفر ضمن الهجمات الخامدة Passive Attack ، ولحماية البيانات الحساسة ينصح باستخدام

بروتوكولات امنية مثل SSL,PGP,MIME,SSH,VPN ،IPSec، واستخدام بروكوتولات التوثيق Authentication

مثل Kerberos,SRP
فضلا، هناك برامج ضد سنيفر مثل الذي يقدمه موقع https://www.l0pht.com/antisniff/ يستخدم عدة طرق

للكشف، منها ما اذا تم تعطيل مرشح البطاقة وتم تهيئة promiscuous mode أريد أضيف شئ مميز أستنتاج

بسيط من كتاب ( كيفين ميتنيك ) أعتقد أنه متوفر كثيراً على الأنترنت وهو موجود بالموقع أيضاً.

DaTa : التزييف في وصلات TCP/IP صعبة جدا في اتصالات طرفين .. فقط يمكنك إرسال باكجات من طرف واحد بعناوين

مزيفة ولكن لا يمكنك استقبالها .. يمكنك الاستفادة,,, من raw socket في هذا .. ولكن هناك تزييف آخر في عملية

الاتصال عن بعد بين المواقع أو الاجهزة ، (( ^-^ وهذه هي الطريقة التي استغلها كيفين ميتنك في ^-^ اختراق جهاز

الخبير الياباني ^-^ )) لانه يوجد علاقة ثقة بين اجهزة لينكس عادة trusted hosts ، وعندما يحاول احد هذه الاجهزة الاتصال

بالجهاز الآخر لا يتطلب عملية التوثيق أو تقديم الباسوورد ( ولذلك اوامر التي تبدأ بR تعتبر خطيرة والكثير من الناس ينصح بتعطليها )

منــــقـــــــــــــــــــــــــــــول
جزى الله خيرا كاتب الموضوع الاصلى
ولا تنسونا من دعائكم