الخميس، 14 أكتوبر 2010

شرح الأداة Netstat في نظام ويندوز


NETSTAT

في نظام ويندوز

المقدمة:
تستخدم الأداة "NETSTAT" في عرض معلومات عن الاتصالات بالشبكة و البروتوكولات المستخدمة مع المنافذ المستخدمة و التي تنتظر الاتصال و العناوين المتصلة لحاسبك وتتواجد على نظامي ويندوز و لينكس وسأبدأ بشرح استخدام الأداة على نظام ويندوز ثم نظام لينكس (أن شاء الله) .

الاستخدام :
يقدم برنامج "NETSTAT" معلومات الاتصال على شكل نصي لذا يجب استخدام مترجم الأوامر "cmd" لكي تستطيع التعامل معه,(أذا أردت التعرف على مترجم الأوامر أضغط الرابط" .
قم بطباعة الأمر "NETSTAT" في مترجم الأوامر , سيكون المخرجات كالتالي:


Active Connections
  Proto  Local Address          Foreign Address        State
TCP    DELL-LAPTOP:211   www.google.com:80 ESTABLISED


هذا الأمر سيظهر الاتصالات الجارية فقط , نبدأ بشرح المعطيات :
proto: نوع البرتوكول المستخدم في الاتصال (TCP, UDP)
Local Address: عنوان الجهاز المستخدم (جهازك) و المنفذ المستخدم , لاحظ أنه يفصل بين أسم الحاسب و المنفذ باستخدام ":" .
Foreign Address: عنوان الحاسب الذي يتم الاتصال به مع رقم المنفذ , يفصل بينها بـ ":".
State: حالة الاتصال و في هذه الحالة "ESTABLISED" , و لكي تفهم الحالات الأخرى سأتطرق بشكل مبسط لبرتوكول "TCP" و "UDP".


البرتوكول "TCP" :
يعتمد برتوكول "TCP" على Flags)-أعلام( في الحزمة للتحكم بعملية الاتصال كما في عملية الاتصال العادية  والتي تسمى عملية "3-Way Hand Shack" لبدأ الاتصال أنظر النموذج :
 

1-يقوم حاسبك بإرسال طرد "TCP" يكون فيه العلم (Flag) "ACK" موجود ليطلب الاتصال لنفترض أنه المنفذ 80 تكون حالة الاتصال في الحاسب العميل "SYN_SENT" .
2-في حالة كون المنفذ متاح على الحاسب "Server", أي أن المنفذ في وضعية  انتظار الاتصال "LISTENING" في هذه الحالة يرسل الخادم "SERVER" طرد "TCP"  يحمل العلمين (Flag) "SYN/ACK" إلى المنفذ الذي صدر منه الطلب على حاسبك لنفترض أن 2443 و تكون حالة الاتصال في الخادم(ٍSERVER) "SYN_RCVD".

3- تصبح حالة الاتصال في العميل "Client" "ESTABLISHED" متصل ,لتأكيد الطلب يرسل حاسبك طرد "TCP" يحمل العلم (Flag) "ACK".

4-عند استلام الحزمة من العميل , تتحول حالة الاتصال إلى  "ESTABLISHED" متصل.


في حالة إنهاء الاتصال تكون كالتالي:

1-يرسل أحد أطراف الاتصال حزم "TCP" مع العلم "Flag" (FIN) الذي يرمز لطلب إنهاء الاتصال تصبح حالة الاتصال (FIN_WAIT_1).

2- عند استلام الحزم التي تحتوي على طلب إنهاء الاتصال يتحول حالة الاتصال في الخادم إلى "CLOSE_WAIT".
3-يرسل الخادم حزمة تحتوي على العلم "Flag" (ACK) إلى العميل , تتحول حالة الاتصال في العميل إلى "FIN_WAIT_2" .

4-يرسل الخادم حزمة تحتوي على العلم "Flag" (FIN) , وتتحول حالة الاتصال إلى "LAST_ACK" في الخادم.

5-عند استقبال "LAST_ACK" , يقوم العميل بتحويل حالة الاتصال لديه إلى "TIME_WAIT" ,أي أنه ينتظر لإنهاء الاتصال , ويقوم أيضا بإرسال حزمه تحتوي على العلم "Flag" (ِACK)
 
6- عند استلام الخادم (SERVER) لحزمة من العميل , يقوم بإغلاق الاتصال. 



البرتوكول UDP:
يعتمد البرتوكول "UDP" على طريقة اتصال أقل تعقيدا كما في المثال التالي:

في البرتوكول "UDP" يحتوي على حالتين لمنفذ برتوكول "UDP" و هي :
1-      LISTENING ( حالة انتظار الاتصال)
2-      ESTABLISED (في حالة الاتصال النشط)

 

المعلمات :
الأمر
الشرح
-a
عرض جميع الاتصالات , و المنافذ المستخدمة و التي في حالة انتظار لاتصال " LISTENING".
-e
عرض إحصائيات مثل عدد البايتات المرسلة و المستقبلة و الأخطاء.
-n
تقوم بعرض العناوين الرقمية "IP ADDRESS" بدل الأسماء .
-o
يقوم بعرض معرف العملية (رقم يستخدم في ويندوز لتعريف العمليات) PID .
-p
تحديد البرتوكول المراد عرض الإحصائيات له (TCP,UDP,TCPv6)
-b
عرض الملفات التنفيذية التي قامت بإنشاء الاتصال .
(رقم الثواني)
تستطيع أن تضع عدد يرمز للثواني التي يقوم فيها برنامج "Netstat" بتحديث الإحصائيات , و لإيقاف البرنامج أضغط "CTRL+C" , يوضع هذا الرقم في نهاية الأمر.

الأمثلة:
netstat -ano
 سيكون مخرجات البرنامج كالتالي:


ستلاحظ وجود السطر "PID" الذي يدل على معرف البرنامج .

netstat –anb
أنظر التالي كمثال للمخرجات :
  Proto     Local Address          Foreign Address        State           PID 
TCP        0.0.0.0:445                     0.0.0.0:0          LISTENING   4
  [System]
سيعرض الأمر معلومات الاتصال و معرف البرنامج ثم سيعرض في سطر جديد أسم الملف  .

netstat –na 3
سيقوم بعرض جميع الاتصالات الجارية , و بدل أسم الموقع سيعرض "IP" و ستحدث المعلومات كل 3 ثواني إلى أن تضغط "CTRL+C".

استخدام "PID" في ويندوز:
لكي تعرف المزيد من المعلومات عن العمليات التي تستخدم تحاول الاتصال بالشبكة , ستستخدم برنامج "أدارة المهام في ويندوز" , لتشغيل البرنامج أضغط أزرار لوحة المفاتيح "CTRL+ALT+DEL".





1-قم باختيار "العمليات"





2-ثم بأخيار "عرض" ثم "تحديد الأعمدة"




3-قم بتحديد الاختيار "معرف العملية PID".







4-الآن تستطيع البحث بواسطة القيمة "PID" و إنهاء العملية في حالة شكك أن هذه العملية تابعة لبرنامج تجسس.




اقرأ هذا المقال لأنظمة ويندوز الأحدث عن بديل برنامج netstat


هناك 9 تعليقات:

  1. الك كل احترام وتقدير بس انا عندي تقريبا مايعادل 10ايبيهات او اكثر كيف بدي اعرف انه هادا تجسس ولابحث مني ونرجو ان تعلمنا كيف نحذف هادا المتطفل ومشكور والى الامام ان شاء الله وكمان اشي عندي ما اجا مايكروسفت انستات با الرغم اني مشغلها يا اخي مع العلم انه الويندوز اصلي ومنزله جديد كمان بس الو 12ساعه

    ردحذف
  2. أخي الكريم

    قبل أن تستعمل Netstat لكشف الهاكر أغلاق كل البرامج (المتصفح,المسن,التورنت) التي تستعمل الأنترنت و عند أستخدام البرنامج Netstat أبحث عن البرامج التي تنتظر الأتصال "listening" و التي تكون منافذها يحمل قيم أكبر 1000 , أما بخصوص عدم وجود Netstat في ويندوز فممكن تقول لي أصدارة نظامك ؟

    ردحذف
  3. مش هقول شكرا لانها مش كفايه ..
    هاقولك ربنا يجعلها ف ميزان حسناتك ويجعلها صدقه جاريه وعلم ينتفع به

    الحكاية دى بتلعب عليها بعض شركات النت لاخفاء عيوبهم فيقولك جهازك عليه spyware والحقيق ان النافذ مغلقه

    متشكر

    ردحذف
  4. طيب انا باخر خطوه اقوم بأيقاف اي واحد يظهر لي listing ???

    ردحذف
  5. من فضلكم هل netstat تستعمل في la sécurité ou attaque

    ردحذف
  6. الله ينور شغل عالي

    ردحذف
  7. كنت عايز اعرف الفرق بين IP config / IP config all

    ردحذف