كيف يمكنك معرفة العملية التي يتم الاستماع إليها على منفذ على Windows؟

سئل على ٧ سبتمبر ٢٠٠٨  ·  تمت مشاهدة 3.6M مرة  ·  مصدر

Readonly picture
في ٧ سبتمبر ٢٠٠٨

كيف يمكنك معرفة العملية التي يتم الاستماع إليها على منفذ على Windows؟

الإجابات

Brad Wilson picture
في ٧ سبتمبر ٢٠٠٨
2903

إجابة جديدة ، بوويرشيل

TCP

Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess

UDP

Get-Process -Id (Get-NetUDPEndpoint -LocalPort YourPortNumberHere).OwningProcess

إجابة قديمة ، كمد

 C:\> netstat -a -b

(أضف -n لإيقافه عن محاولة حل أسماء المضيف ، مما سيجعلها أسرع كثيرًا.)

ملاحظة توصية Dane ل TCPView . تبدو مفيدة جدا!

-a يعرض جميع التوصيلات ومنافذ الاستماع.

-b يعرض الملف التنفيذي المتضمن في إنشاء كل منفذ اتصال أو استماع. في بعض الحالات ، تستضيف البرامج التنفيذية المعروفة عدة مكونات مستقلة ، وفي هذه الحالات يتم عرض تسلسل المكونات المتضمنة في إنشاء منفذ الاتصال أو الاستماع. في هذه الحالة ، يكون الاسم القابل للتنفيذ في [] في الجزء السفلي ، وفي الأعلى يوجد المكون الذي يطلق عليه ، وهكذا دواليك حتى يتم الوصول إلى TCP / IP. لاحظ أن هذا الخيار يمكن أن يستغرق وقتًا طويلاً وسيفشل ما لم يكن لديك أذونات كافية.

-n يعرض العناوين وأرقام المنافذ بشكل رقمي.

-o يعرض معرّف العملية المالك المرتبط بكل اتصال.

bcorso picture
في ١٨ مايو ٢٠١٤
2340

هناك واجهة مستخدم رسومية أصلية لنظام التشغيل Windows:

  • قائمة ابدأ → كافة البرامجالملحقاتأدوات النظامResource Monitor

أو قم بتشغيل resmon.exe ، أو من علامة تبويب أداء مدير المهام .

Enter image description here

Dane picture
في ٧ سبتمبر ٢٠٠٨
248

استخدم TCPView إذا كنت تريد واجهة مستخدم رسومية لهذا الغرض. إنه تطبيق Sysinternals القديم الذي اشترته Microsoft.

aku picture
في ٧ سبتمبر ٢٠٠٨
244

للنوافذ:

netstat -aon | find /i "listening"
Ram Sharma picture
في ٢٤ يناير ٢٠١٨
160

يتطلب المفتاح -b المذكور في معظم الإجابات أن يكون لديك امتيازات إدارية على الجهاز. لا تحتاج حقًا إلى حقوق مرتفعة للحصول على اسم العملية!

ابحث عن معرف العملية الجارية في رقم المنفذ (على سبيل المثال ، 8080)

netstat -ano | findStr "8080"

ابحث عن اسم العملية بواسطة معرف المنتج

tasklist /fi "pid eq 2216"

find process by TCP/IP port

Nathan24 picture
في ٨ أكتوبر ٢٠١٣
88

يمكنك الحصول على مزيد من المعلومات إذا قمت بتشغيل الأمر التالي:

netstat -aon | find /i "listening" |find "port"

يتيح لك استخدام الأمر "بحث" تصفية النتائج. سيعرض find /i "listening" فقط المنافذ التي "تستمع". ملاحظة ، أنت بحاجة إلى /i لتجاهل الحالة ، وإلا فاكتب "استمع" سيقصر | find "port" النتائج على تلك التي تحتوي على رقم المنفذ المحدد فقط. لاحظ أنه سيتم أيضًا تصفية النتائج التي تحتوي على رقم المنفذ في أي مكان في سلسلة الاستجابة.

Cyborg picture
في ٨ نوفمبر ٢٠١٢
76
  1. افتح نافذة موجه الأوامر (كمسؤول) من مربع "ابدأ \ بحث" أدخل "cmd" ثم انقر بزر الماوس الأيمن فوق "cmd.exe" وحدد "تشغيل كمسؤول"

  2. أدخل النص التالي ثم اضغط على Enter.

    netstat -abno

    -a يعرض جميع التوصيلات ومنافذ الاستماع.

    -b يعرض الملف التنفيذي المتضمن في إنشاء كل منفذ اتصال أو استماع. في بعض الحالات ، تستضيف البرامج التنفيذية المعروفة عدة مكونات مستقلة ، وفي هذه الحالات يتم عرض تسلسل المكونات المتضمنة في إنشاء منفذ الاتصال أو الاستماع. في هذه الحالة ، يكون الاسم القابل للتنفيذ في [] في الجزء السفلي ، وفي الأعلى يوجد المكون الذي يطلق عليه ، وهكذا دواليك حتى يتم الوصول إلى TCP / IP. لاحظ أن هذا الخيار يمكن أن يستغرق وقتًا طويلاً وسيفشل ما لم يكن لديك أذونات كافية.

    -n يعرض العناوين وأرقام المنافذ بشكل رقمي.

    -o يعرض معرّف العملية المالك المرتبط بكل اتصال.

  3. ابحث عن المنفذ الذي تستمع إليه ضمن "العنوان المحلي"

  4. انظر إلى اسم العملية مباشرة أسفل ذلك.

ملاحظة: للعثور على العملية ضمن إدارة المهام

  1. لاحظ PID (معرف العملية) بجوار المنفذ الذي تبحث عنه.

  2. افتح مدير مهام Windows.

  3. حدد علامة التبويب العمليات.

  4. ابحث عن PID الذي سجلته عند إجراء netstat في الخطوة 1.

    • إذا كنت لا ترى عمود PID ، فانقر فوق عرض / تحديد الأعمدة. حدد PID.

    • تأكد من تحديد "إظهار العمليات من جميع المستخدمين".

ROMANIA_engineer picture
في ١٠ فبراير ٢٠١٦
57

احصل على PID واسم الصورة

استخدم أمرًا واحدًا فقط:

for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"

حيث يجب استبدال 9000 برقم المنفذ الخاص بك.

سيحتوي الإخراج على شيء مثل هذا:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
java.exe                      5312 Services                   0    130,768 K

تفسير:

  • يتكرر خلال كل سطر من إخراج الأمر التالي:

    netstat -aon | findstr 9000
    
  • من كل سطر ، يتم استخراج PID ( %a - الاسم ليس مهمًا هنا) (PID هو العنصر 5 th في هذا السطر) وتمريره إلى الأمر التالي

    tasklist /FI "PID eq 5312"
    

إذا كنت ترغب في تخطي الرأس وعودة موجه الأوامر ، يمكنك استخدام:

echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on

انتاج:

java.exe                      5312 Services                   0    130,768 K
Pankaj Pateriya picture
في ٢٣ أغسطس ٢٠١٤
51

أولاً ، نجد معرف العملية لتلك المهمة المعينة التي نحتاج إلى التخلص منها من أجل الحصول على المنفذ مجانًا:

نوع

netstat -n -a -o

بعد تنفيذ هذا الأمر في موجه سطر أوامر Windows (cmd) ، حدد pid الذي أعتقد أنه العمود الأخير. افترض أن هذا هو 3312.

اكتب الآن

taskkill /F /PID 3312

يمكنك الآن التحقق من خلال كتابة الأمر netstat .

ملاحظة: في بعض الأحيان لا يسمح لك Windows بتشغيل هذا الأمر مباشرة على CMD ، لذلك عليك أولاً اتباع الخطوات التالية:

من قائمة ابدأ -> موجه الأوامر (انقر بزر الماوس الأيمن على موجه الأوامر ، وقم بتشغيل كمسؤول)

Monis Majeed picture
في ١٧ أبريل ٢٠١٤
33

للحصول على قائمة بجميع معرّفات العمليات الخاصة بالملكية المرتبطة بكل اتصال:

netstat -ao |find /i "listening"

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

Taskkill /F /IM PID of a process