استخدم Netstat لعرض منافذ الاستماع و PID في Windows

في مقال آخر ، شرحنا منافذ الكمبيوتر وما تستخدم من أجله(explained computer ports and what they’re used for) . بخلاف ذلك ، ماذا يمكننا أن نفعل بمعلومات المنفذ؟ نظرًا لأن جميع حركات المرور داخل وخارج الكمبيوتر تمر عبر المنافذ ، يمكننا التحقق منها لمعرفة ما يفعلونه. ربما لا يستمع المنفذ لحركة المرور؟ ربما شيء ما يستخدم منفذًا لا ينبغي أن يكون؟ 

سنستخدم الأمر netstat الخاص (netstat)بنظام Windows(Windows) لرؤية منافذ الاستماع و PID ( معرف العملية(Process ID) ). سنرى أيضًا ما يمكننا فعله بهذه المعلومات.

ما هو نتستات؟(What Is Netstat?)

الأمر netstat عبارة عن مزيج من الكلمتين "شبكة" و "إحصائيات". يعمل الأمر netstat في جميع إصدارات Windows بدءًا من Windows XP وحتى Windows 10 . يتم استخدامه أيضًا في أنظمة تشغيل أخرى (OS) مثل Unix و Linux ، لكننا سنلتزم بنظام Windows(Windows) هنا.

يمكن لـ Netstat تزويدنا بما يلي:

  • اسم البروتوكول الذي يستخدمه المنفذ ( TCP أو UDP ).
  • عنوان IP المحلي واسم الكمبيوتر ورقم المنفذ المستخدم.
  • عنوان IP ورقم المنفذ الذي نتصل به.
  • حالة اتصال TCP . للحصول على تفاصيل حول ماهية هذه الحالات ، اقرأ قسم معالجة الأحداث في RFC 793(Event Processing section of RFC 793) .

استخدام Netstat لمشاهدة الاستماع إلى المنافذ و PID(Using Netstat To See Listening Ports & PID)

  • استخدم مجموعة Win Key + X X. في القائمة التي تفتح ، حدد موجه الأوامر(Command Prompt) .

  • أدخل(Enter) الأمر
    netstat -a -n -o
    . معلمات netstat مسبوقة بواصلة ، وليس شرطة مائلة للأمام مثل العديد من الأوامر الأخرى. يخبرها الحرف -a بأن يوضح لنا جميع الاتصالات النشطة والمنافذ التي يستمع إليها الكمبيوتر.

    يقوم -n بإخبار netstat بإظهار عناوين IP والمنافذ كأرقام فقط. نحن نقول لها ألا تحاول حل الأسماء. وهذا يجعل العرض أسرع وأكثر إتقانًا. يقوم -o بإخبار netstat بتضمين PID . سنستخدم PID لاحقًا لمعرفة العملية التي تستخدم منفذًا معينًا.

  • اعرض(View) النتائج ولاحظ العناوين وأرقام المنافذ والحالة و PID . لنفترض أننا نريد أن نعرف ما الذي يستخدم المنفذ 63240. لاحظ أن PID الخاص به هو 8552 وأنه يتصل بعنوان IP 172.217.12.138 على المنفذ 443.

ما الذي يستخدم هذا المنفذ؟(What’s Using That Port?)

  • افتح مدير المهام(Task Manager) . يتم ذلك بسهولة باستخدام مجموعة المفاتيح Ctrl + Shift + Esc .

  • انقر فوق علامة التبويب التفاصيل . (Details )لتسهيل العثور على هذا ، انقر فوق رأس عمود PID لفرز معرفات PID(PIDs) عدديًا.

  • قم بالتمرير لأسفل إلى PID 8552 وشاهد(8552 ) ما هي العملية. في هذه الحالة ، يكون googledrivesync.exe . لكن هل هي حقا؟ في بعض الأحيان يمكن للفيروسات أن تجعل نفسها تبدو وكأنها عمليات شرعية.

  • في متصفح الويب ، انتقل إلى ipinfo.io . أدخل عنوان IP 172.217.12.138 . كما نرى ، تم تسجيل عنوان IP في Google . لذلك يعد googledrivesync.exe شرعيًا.

كيفية الحصول على المنفذ و PID واسم العملية في PowerShell(How To Get Port, PID, & Process Name In PowerShell)

PowerShell هو أحدث طريقة من Microsoft لاستخدام واجهة سطر الأوامر مع Windows . نقول أحدث ، لكنه كان موجودًا في العديد من الإصدارات. يجب أن تتعلم PowerShell حتى لو كنت مستخدمًا منزليًا(learn PowerShell even if you’re a home user) .

تعمل معظم أوامر Windows أيضًا في (Windows)PowerShell ، بالإضافة إلى أنه يمكننا دمجها مع أوامر cmdlets الخاصة بـ PowerShell - والتي تُنطق بأوامر (PowerShell)الأوامر(command-lets) . يوفر Joe في Winteltools.com البرنامج النصي لهذه الطريقة.

  • افتح المفكرة(Notepad ) وأدخل الكود التالي:
$netstat = netstat -aon | Select-String -pattern "(TCP|UDP)"
$processList = Get-Process

foreach ($result in $netstat) {
   $splitArray = $result -split " "
   $procID = $splitArray[$splitArray.length – 1]
   $processName = $processList | Where-Object {$_.id -eq $procID} |    select processname
   $splitArray[$splitArray.length – 1] = $procID + " " +      $processName.processname
   $splitArray -join " "
}

  • احفظ الملف باسم get-NetstatProcessName.ps1 . تأكد من ملاحظة مكان حفظه. من المهم تغيير حفظ كنوع:(Save as type: ) إلى All Files (*.*) أو سيتم حفظه كـ get-NetstatProcessName.ps1 .txt ولن يعمل معنا.

  • افتح PowerShell وانتقل إلى الموقع الذي تم حفظ البرنامج النصي فيه. في هذه الحالة ، يكون الأمر <pre> cd C: Scripts </pre>. اضغط على Enter لتشغيل الأمر.

  • قم بتشغيل البرنامج النصي باستخدام مصدر النقاط لجعله يعمل. هذا يعني استخدام ./ قبل اسم الملف. سيكون الأمر
    ./get-NetstatProcessName.ps1 < /pre

  • يمكننا الآن رؤية جميع معلومات netstat التقليدية بالإضافة إلى اسم العملية. لا حاجة لفتح مدير المهام(Task Manager) بعد الآن.

اذهب واحصل عليهم(Go Get Them)

لقد غطينا طريقتين لاستخدام الأمر netstat لرؤية منافذ الاستماع. يمكن استخدامه إما في موجه الأوامر(Command Prompt) القديم أو داخل برنامج نصي بوويرشيل . (PowerShell)من خلال المعلومات التي يمكن أن يقدمها لنا ، نظرنا في كيفية مساعدتنا في معرفة ما يفعله جهاز الكمبيوتر الخاص بنا. 

إذا كنت تعتقد أن netstat أداة مساعدة رائعة ، فقم بإلقاء نظرة على بعض أدوات Windows TCP / IP المساعدة الأخرى مثل tracert و ipconfig و nslookup . أو استخدم Resource Monitor للحصول على نظرة أفضل على مواقع الويب المخفية واتصالات الإنترنت(use Resource Monitor to get a better look into hidden website and Internet connections) . هناك الكثير الذي يمكنك القيام به لمعرفة ما يفعله جهاز الكمبيوتر الخاص بك بالضبط.

هل استخدمت netstat لحل مشكلة؟ من فضلك(Please) اخبرنا ماذا فعلت أي أسئلة حول كيفية استخدام netstat؟ من فضلك(Please) اسألنا في التعليقات أدناه.



About the author

أنا مبرمج كمبيوتر منذ أكثر من 15 عامًا. تكمن مهاراتي في تطوير التطبيقات البرمجية وصيانتها ، فضلاً عن تقديم الدعم الفني لتلك التطبيقات. لقد قمت أيضًا بتدريس برمجة الكمبيوتر لطلاب المدارس الثانوية ، وأنا حاليًا مدرس محترف.



Related posts