هل هناك طريقة لفحص حالة منفذ معين من سطر أوامر Windows؟ أعلم أنه يمكنني استخدام netstat لفحص جميع المنافذ ولكن netstat بطيء والنظر في منفذ معين قد لا يكون كذلك.
هنا هو الحل السهل لإيجاد منفذ ...
في كمد:
netstat -na | find "8080"
في باش:
netstat -na | grep "8080"
يمكنك استخدام netstat
مع إشارات -np
وأنبوب توجيه إلى الأمرين find
أو findstr
.
الاستخدام الأساسي على هذا النحو:
netstat -np <protocol> | find "port #"
على سبيل المثال ، للتحقق من المنفذ 80 على TCP ، يمكنك القيام بذلك: netstat -np TCP | find "80"
والذي ينتهي بإعطاء نوع الإخراج التالي:
TCP 192.168.0.105:50466 64.34.119.101:80 ESTABLISHED
TCP 192.168.0.105:50496 64.34.119.101:80 ESTABLISHED
كما ترى ، يعرض هذا فقط الاتصالات على المنفذ 80 للبروتوكول TCP.
عندما أواجه مشكلة مع WAMP Apache ، استخدم هذا الرمز للعثور على البرنامج الذي يستخدم المنفذ 80.
netstat -o -n -a | findstr 0.0:80
3068
هو PID ، لذلك يمكنني العثور عليه من مدير المهام وإيقاف هذه العملية.
أنا أستعمل:
netstat –aon | find "<port number>"
هنا س يمثل معرف العملية. الآن يمكنك أن تفعل أي شيء مع معرف العملية. لإنهاء العملية ، على سبيل المثال ، استخدم:
taskkill /F /pid <process ID>
كما لوحظ في مكان آخر: استخدم netstat ، مع مفاتيح التبديل المناسبة ، ثم قم بتصفية النتائج مع العثور على [str]
الاكثر اساسية:
netstat -an | find ":N"
أو
netstat -a -n | find ":N"
للعثور على منفذ أجنبي ، يمكنك استخدام:
netstat -an | findstr ":N[^:]*$"
للعثور على منفذ محلي قد تستخدمه:
netstat -an | findstr ":N.*:[^:]*$"
حيثNهو رقم المنفذ الذي تهتم به.
يضمن -n
أن تكون جميع المنافذ عددية ، بمعنى أنه لن يتم إرجاعها على أنها مترجمة إلى أسماء الخدمة.
-a
سيضمن لك البحث في جميع الاتصالات (TCP ، UDP ، الاستماع ...)
في السلسلة find
، يجب عليك تضمين النقطتين ، بوصفهما مؤهلين للمنفذ ، وإلا فقد يتطابق الرقم مع العناوين المحلية أو الأجنبية.
يمكنك تضييق نطاق البحث باستخدام مفاتيح netstat الأخرى حسب الضرورة ...
مزيد من القراءة (^ 0 ^)
netstat /?
find /?
findstr /?
netstat -a -n | find /c "10.240.199.9:8080"
سوف يمنحك عدد مآخذ نشطة على عنوان IP ومنفذ معين (رقم منفذ الخادم)
بالنسبة لمستخدم Windows 8: افتح موجه الأوامر ، اكتب netstat -an | العثور على "رقم المنفذ الخاص بك" ، أدخل.
إذا كان الرد مثلالاستماعثم المنفذ قيد الاستخدام ، وإلا فإنه مجاني.
لتحسين @ EndUzr استجابة :
للعثور على منفذ خارجي (IPv4 أو IPv6) ، يمكنك استخدام:
netstat -an | findstr /r /c:":N [^:]*$"
للعثور على منفذ محلي (IPv4 أو IPv6) ، يمكنك استخدام:
netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "
حيث N هو رقم المنفذ الذي تهتم به. يخبرك رمز التبديل "/ r" بمعالجته كـ regexp. يسمح رمز التبديل "/ c" لـ findstr بتضمين مسافات ضمن سلاسل البحث بدلاً من التعامل مع المساحة كمحدد لسلسلة البحث. تمنع هذه المساحة المضافة من إساءة استخدام المنافذ الأطول - على سبيل المثال ، ": 80" مقابل ": 8080" ومشكلات أخرى تتعلق بإدارة المنافذ.
لسرد الاتصالات عن بُعد بخادم RDP المحلي ، على سبيل المثال:
netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"
أو لمعرفة من يلمس DNS الخاص بك:
netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"
إذا كنت ترغب في استبعاد المنافذ المحلية فقط ، يمكنك استخدام سلسلة من الاستثناءات مع "/ v" والهروب من الأحرف بشرطة مائلة عكسية:
netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
بالنسبة للمنفذ 80 ، سيكون الأمر: netstat -an | ابحث عن "80" بالنسبة للمنفذ n ، سيكون الأمر: netstat -an | العثور على "ن"
هنا ، netstat هو التعليمات لجهازك
-a: يعرض جميع الاتصالات ومنافذ الاستماع - n: يعرض جميع العناوين والإرشادات بتنسيق رقمي (هذا مطلوب لأن الإخراج من -a يمكن أن يحتوي على أسماء الأجهزة)
ثم ، أمر العثور على "مطابقة النقش" إخراج الأمر السابق.