netstat

في مجال الحوسبة ، netstatيُعدّ أداة سطر أوامر شبكية تعرض منافذ الشبكة المفتوحة، وجداول التوجيه ، وعددًا من إحصائيات واجهة الشبكة ( وحدة تحكم واجهة الشبكة أو واجهة الشبكة المعرفة برمجياً ) وبروتوكول الشبكة. وهو متوفر على أنظمة التشغيل Unix و Plan 9 و Inferno والأنظمة الشبيهة بـ Unix ، بما في ذلك macOS و Linux و Solaris و BSD . كما أنه متوفر على نظام التشغيل IBM OS/2 وأنظمة التشغيل المبنية على Microsoft Windows NT ، بما في ذلك Windows XP و Windows Vista و Windows 7 و Windows 8 و Windows 10 .

يُستخدم هذا البرنامج لاكتشاف المشاكل في الشبكة وتحديد حجم البيانات المتداولة عليها كمقياس للأداء. [ 1 ] على نظام لينكس، يُعتبر هذا البرنامج قديمًا في الغالب، على الرغم من أنه لا يزال مُضمّنًا في العديد من التوزيعات.

في نظام لينكس، netstatتم استبدال (جزء من "net-tools") بـ ss(جزء من iproute2 ). البديل لـ netstat -rهو ip route، والبديل لـ netstat -iهو ip -s link، والبديل لـ netstat -gهو ip maddr، وجميعها موصى بها. [ 2 ] [ 3 ] [ 4 ] [ 5 ]

الإحصائيات المقدمة

يوفر موقع Netstat إحصائيات لما يلي:

  • Proto – اسم البروتوكول ( TCP ، UDP ، إلخ). في بعض الأنظمة، قد يتبع اسم البروتوكول الرقم "4" أو "6"، وذلك حسب ما إذا كان البروتوكول يعمل عبر IPv4 أو IPv6 .
  • العنوان المحلي – عنوان IP الخاص بالكمبيوتر المحلي ورقم المنفذ المستخدم. يظهر اسم الكمبيوتر المحلي المطابق لعنوان IP واسم المنفذ ما لم -nيتم تحديد المعلمة. تظهر علامة النجمة (*) بجانب اسم المضيف إذا كان الخادم يستمع على جميع الواجهات. إذا لم يتم إنشاء المنفذ بعد، يظهر رقم المنفذ كعلامة نجمة.
  • العنوان الخارجي – عنوان IP ورقم المنفذ الخاصين بالكمبيوتر البعيد المتصل به المقبس. تظهر الأسماء المطابقة لعنوان IP والمنفذ ما لم -nيتم تحديد المعلمة. إذا لم يتم إنشاء المنفذ بعد، فسيظهر رقم المنفذ كعلامة نجمة (*).
  • الحالة – ​​تشير إلى حالة اتصال TCP. الحالات الممكنة هي: CLOSE_WAIT، CLOSED، ESTABLISHED، FIN_WAIT_1، FIN_WAIT_2، LAST_ACK، LISTEN، SYN_RECEIVED، SYN_SEND ، و TIME_WAIT . لمزيد من المعلومات حول حالات اتصال TCP، راجع RFC 793 . 

حدود

يجب أن تُسبق المعاملات المستخدمة مع هذا الأمر بشرطة ( - ) بدلاً من الشرطة المائلة ( / ). بعض المعاملات غير مدعومة على جميع المنصات.

اسموصفويندوزReactOSنظام التشغيل macOSبي إس دينظام التشغيل NetBSDفري بي إس ديلينكسسولاريسنظام التشغيل OS/2
يعرض جميع الاتصالات النشطة ومنافذ TCP وUDP التي يستمع إليها الكمبيوتر.نعمنعمنعمنعمنعمنعم
يعرض اسم البرنامج الثنائي (القابل للتنفيذ) المستخدم في إنشاء كل اتصال أو منفذ استماع. ( أنظمة تشغيل ويندوز XP ، وويندوز سيرفر 2003 والإصدارات الأحدث؛ وليس مايكروسوفت ويندوز 2000 أو الإصدارات الأقدم).نعملالا
السبب -i هو الإبلاغ عن إجمالي عدد بايتات حركة البيانات.لانعمنعملا
-هـيعرض هذا الأمر إحصائيات الإيثرنت ، مثل عدد البايتات والحزم المرسلة والمستلمة. ويمكن دمج هذا المعامل مع الخيار -s .نعمنعملا
-fيعرض أسماء النطاقات المؤهلة بالكامل <FQDN> للعناوين الخارجية (متوفر فقط على أنظمة التشغيل Windows Vista والإصدارات الأحدث).نعملالا
-f عنوان العائلةيقتصر العرض على عائلة عناوين مقابس معينة، يونكس ، إنترنت ، إنترنت 6لانعملا
-gيعرض معلومات عضوية مجموعة البث المتعدد لكل من IPv4 و IPv6 (قد يكون متاحًا فقط على أنظمة التشغيل الأحدث)لالانعم
-أنايعرض واجهات الشبكة وإحصائياتهالالانعمنعمنعمنعمنعم
يعرض إحصائيات الذاكرة لرمز الشبكة (إحصائيات STREAMS على نظام Solaris).لالانعمنعمنعمنعمنعم
يعرض اتصالات TCP النشطة، ومع ذلك، يتم التعبير عن العناوين وأرقام المنافذ بشكل رقمي ولا يتم بذل أي محاولة لتحديد الأسماء.نعمنعمنعمنعمنعمنعمنعمنعم
-oيعرض هذا الأمر اتصالات TCP النشطة، ويتضمن معرّف العملية (PID) لكل اتصال. يمكنك العثور على التطبيق بناءً على معرّف العملية في علامة تبويب " العمليات " في "إدارة مهام Windows" . يمكن دمج هذا الخيار مع الخيارات -a و-n و- p . يتوفر هذا الخيار في أنظمة Microsoft Windows XP و Windows Server 2003 و Windows 2000 في حال تثبيت تحديث عاجل. [ 6 ]نعملالا
بروتوكول -pيعرض هذا الأمر الاتصالات الخاصة بالبروتوكول المحدد بواسطة `protocol` . في هذه الحالة، يمكن أن يكون `protocol` إما tcp أو udp أو tcpv6 أو udpv6 . إذا تم استخدام هذا المعامل مع الخيار `-s` لعرض الإحصائيات حسب البروتوكول، فيمكن أن يكون `protocol` إما tcp أو udp أو icmp أو ip أو tcpv6 أو udpv6 أو icmpv6 أو ipv6 .نعمنعمنعمنعمنعمنعم
-pعرض أي العمليات تستخدم أي منافذ (على غرار -b في نظام التشغيل Windows) (يجب أن تكون المستخدم الجذر للقيام بذلك)لالانعم
بروتوكول -Pيعرض الاتصالات الخاصة بالبروتوكول المحدد بواسطة protocol . في هذه الحالة، يمكن أن يكون protocol هو ip أو ipv6 أو icmp أو icmpv6 أو igmp أو udp أو tcp أو rawip .لالانعم
-rيعرض محتويات جدول توجيه IP . (هذا يعادل أمر طباعة المسار في نظام التشغيل Windows).نعمنعمنعمنعمنعمنعمنعمنعمنعم
-sيعرض هذا الأمر الإحصائيات حسب البروتوكول. بشكل افتراضي، تُعرض الإحصائيات لبروتوكولات TCP و UDP و ICMP و IP . في حال تثبيت بروتوكول IPv6 لنظام التشغيل Windows XP، تُعرض الإحصائيات لبروتوكولات TCP عبر IPv6 وUDP عبر IPv6 و ICMPv6 وIPv6. يمكن استخدام المعامل -p لتحديد مجموعة من البروتوكولات.نعمنعمنعمنعمنعمنعمنعمنعم
-tعرض اتصالات TCP فقط.لانعمنعم
-uعرض اتصالات UDP فقط.لالانعمنعم
-Wيعرض مخرجات عريضة - لا يقوم باقتطاع أسماء المضيفين أو عناوين IPv6لالانعملا
-xيعرض اتصالات NetworkDirect والمستمعين ونقاط النهاية المشتركة.نعم
-yيعرض قالب اتصال TCP لجميع الاتصالات. لا يمكن دمجه مع الخيارات الأخرى.نعم
-vعند استخدامه مع الخيار -b، سيعرض تسلسل المكونات المشاركة في إنشاء الاتصال أو منفذ الاستماع لجميع الملفات التنفيذية.نعملالا
فاصلةيُعيد عرض المعلومات المُحددة كل فترة زمنية مُحددة (بالثواني). اضغط على CTRL+C لإيقاف إعادة العرض. في حال عدم تحديد هذا الخيار، يقوم الأمر netstat بعرض المعلومات المُحددة مرة واحدة فقط.نعمنعملا
-hيعرض التعليمات في موجه الأوامر.نعملانعمنعمنعمنعمنعمنعملا
يعرض التعليمات في موجه الأوامر.نعملالالالالالالانعم
يعرض التعليمات في موجه الأوامر.نعمنعملالالالالالالا

أمثلة

متعدد المنصات

على أنظمة macOS وBSD وتوزيعات لينكس ومايكروسوفت ويندوز:

لعرض الإحصائيات الخاصة ببروتوكولات TCP أو UDP فقط ، اكتب أحد الأوامر التالية:

netstat -sp tcp

netstat -sp udp

شبيهة بنظام يونكس

على الأنظمة الشبيهة بنظام يونكس:

لعرض جميع المنافذ المفتوحة بواسطة عملية ذات معرّف pid :

netstat -aop | grep "pid"

لعرض اتصالات TCP وUDP المفتوحة بشكل مستمر رقميًا، وكذلك البرنامج الذي يستخدمها على نظام Linux:

netstat -nutpacw

ويندوز

على نظام التشغيل مايكروسوفت ويندوز:

لعرض اتصالات TCP النشطة ومعرفات العمليات كل 5 ثوانٍ، اكتب الأمر التالي (يعمل فقط على الأنظمة المستندة إلى NT، أو Windows 2000 مع الإصلاح العاجل):

netstat -o 5

لعرض اتصالات TCP النشطة ومعرفات العمليات باستخدام الشكل الرقمي ، اكتب الأمر التالي (يعمل فقط على الأنظمة المستندة إلى NT، أو Windows 2000 مع الإصلاح العاجل):

netstat -no

*nix

يأمرتوضيح
netstat -aيعرض جميع المقابس، سواء كانت تستمع أو لا تستمع، وجميع البروتوكولات مثل TCP وUDP وما إلى ذلك.
netstat -atيعرض اتصالات TCP فقط (-au يعرض اتصالات UDP فقط)
netstat -antيعرض جميع اتصالات TCP التي لا تحتوي على تحليل DNS (يعرض عناوين IP بدلاً من ذلك).
netstat -alيعرض فقط منافذ الاستماع.
netstat -aepيعرض أيضًا معرّف العملية (PID) والبرنامج الذي ينتمي إليه كل منفذ، ويضيف معلومات إضافية مثل اسم المستخدم. شغّله كمسؤول النظام (root) لعرض جميع معرّفات العمليات.
netstat -sيعرض إحصائيات الشبكة.
netstat -rيعرض معلومات توجيه النواة. هذا هو نفس الناتج الذي ينتجه الأمر route -e.
netstat -iيعرض جدولاً بجميع واجهات الشبكة. أضف الخيار ‎-e للحصول على مخرجات مشابهة للأمر ifconfig.
netstat -ctيعرض اتصالات TCP بشكل مستمر.
netstat -gعرض معلومات عضوية مجموعة البث المتعدد لبروتوكول IPv4 و IPv6.
netstat -lntuاعرض جميع الخدمات التي تستمع إلى بروتوكولي TCP وUDP، وجميع المنافذ المفتوحة غير المستخدمة على الجهاز المحلي.
netstat -atnp | grep ESTAيعرض جميع اتصالات TCP "القائمة" حاليًا.

البطاقات الجامحة

يستخدم برنامج Netstat علامة النجمة (*) كرمز بدل، ما يعني "أي". مثال على ذلك:

مثال على المخرجات:

....العنوان المحلي العنوان الأجنبي الولاية ... *:smtp *:* استمع

تحت عنوان "العنوان المحلي" *، *:smtpيعني هذا أن العملية تستمع على جميع واجهات الشبكة الخاصة بالجهاز للمنفذ المُعيّن كـ smtp (راجع /etc/services لمعرفة تفاصيل الخدمة). يمكن أيضًا عرض هذا كـ 0.0.0.0. تشير علامة * الأولى *:*إلى إمكانية ورود الاتصالات من أي عنوان IP، بينما تشير علامة * الثانية *:*إلى إمكانية ورود الاتصال من أي منفذ على الجهاز البعيد.

محاذير

تفتقر بعض إصدارات netstatprintf إلى محددات الحقول الصريحة في مخرجاتها، مما يؤدي إلى تداخل الحقول الرقمية وبالتالي إتلاف بيانات الإخراج.

ملاحظات خاصة بالمنصة

أمر reactOSnetstat
أمر macOSnetstat

في نظام التشغيل لينكس ، يمكن في كثير من الأحيان الحصول على البيانات الأولية من /proc/net/dev للتغلب على تلف مخرجات printf الذي يظهر في ملخص إحصائيات واجهة الشبكة لـ netstat netstat -i، إلى حين تصحيح المشكلة.

في نظام التشغيل ويندوز ، يمكن استرجاع معلومات netstat عن طريق استدعاء الدالتين GetTcpTable و GetUdpTable في واجهة برمجة تطبيقات IP Helper API ، أو ملف IPHLPAPI.DLL. تتضمن المعلومات المُسترجعة عناوين IP المحلية والبعيدة ، والمنافذ المحلية والبعيدة، ورموز حالة TCP (بالنسبة للدالة GetTcpTable) . بالإضافة إلى أداة سطر الأوامر netstat.exe المُرفقة مع ويندوز، تتوفر برامج netstat بواجهة رسومية .

في نظام التشغيل ويندوز، لا يتوفر هذا الأمر إلا إذا تم تثبيت بروتوكول الإنترنت ( TCP / IP ) كمكون في خصائص محول الشبكة في اتصالات الشبكة.

في نظام التشغيل Windows الذي يعمل بخدمات سطح المكتب البعيد (المعروفة سابقًا باسم خدمات المحطة الطرفية)، سيتم عرض الاتصالات الخاصة بالمستخدم الحالي فقط، وليس للكمبيوتر بأكمله.

في نظام macOS ، يحتوي المجلد /System/Library/CoreServices/Applications (أو /Applications/Utilities في نظام التشغيل OS X Mountain Lion والإصدارات الأقدم) على أداة واجهة مستخدم رسومية للشبكة تسمى Network Utility ، والتي تقوم علامة التبويب Netstat الخاصة بها بتشغيل أمر netstat وعرض مخرجاته في علامة التبويب.

انظر أيضاً

مراجع

  1. "مركز معلومات أنظمة IBM" . ibm.com . 8 مايو 2007.
  2. "net-tools" . linuxfoundation.org . مؤرشف من الأصل بتاريخ 11-06-2016 . تم الاطلاع عليه بتاريخ 02-08-2014 .
  3. "Arch Linux" . archlinux.org . 8 يونيو 2011.
  4. "أوامر الشبكات القديمة في لينكس وبدائلها" . مدونة دوغ فيتالي التقنية . 21 ديسمبر 2011.
  5. "صفحة دليل netstat (قسم الملاحظات)" . تم الاطلاع عليها بتاريخ 2 أغسطس 2014. هذا البرنامج قديم . بديل netstat هو ss. بديل netstat -r هو ip route. بديل netstat -i هو ip -s link. بديل netstat -g هو ip maddr.
  6. "يمكن لأمر netstat الآن عرض معرّفات العمليات التي تتوافق مع اتصالات TCP أو UDP النشطة في نظام التشغيل Windows 2000" . مؤرشف من الأصل بتاريخ 24 أغسطس 2007.

للمزيد من القراءة

  • دايسون، بيتر (1995). إتقان نظام التشغيل OS/2 Warp . سيبكس . ISBN 978-0782116632.
  • ستانيك، ويليام ر. (2008). دليل الجيب لمسؤول سطر أوامر ويندوز، الطبعة الثانية . مطبعة مايكروسوفت . ISBN 978-0735622623.