CS50 2018 - Lecture 5 - HTTP, HTML, CSS
جدول المحتويات:
- ما هو ميناء الاستماع
- تحقق من منافذ الاستماع مع
netstat - تحقق من منافذ الاستماع باستخدام
ss - تحقق منافذ الاستماع مع
lsof - استنتاج
عند استكشاف مشكلات اتصال الشبكة أو المشكلات الخاصة بالتطبيق ، يجب أن تكون أول الأشياء التي يجب التحقق منها هي المنافذ المستخدمة فعليًا على نظامك والتطبيق الذي يستمع إليه على منفذ معين.
تشرح هذه المقالة كيفية معرفة الخدمات التي تستمع إليها حول المنافذ التي تستخدم أوامر
netstat
و
ss
و
lsof
. تنطبق التعليمات على جميع أنظمة التشغيل المستندة إلى Linux و Unix مثل macOS.
ما هو ميناء الاستماع
يتم تحديد منفذ الشبكة برقمه وعنوان IP المرتبط ونوع بروتوكول الاتصال مثل TCP أو UDP.
منفذ الاستماع هو منفذ شبكة يستمع إليه أحد التطبيقات أو العمليات ، ويكون بمثابة نقطة نهاية للاتصال.
يمكن فتح أو إغلاق كل منفذ استماع (تصفيته) باستخدام جدار الحماية. بعبارات عامة ، المنفذ المفتوح هو منفذ شبكة يقبل الحزم الواردة من المواقع البعيدة.
لا يمكنك الحصول على خدمتين تستمعان إلى نفس المنفذ على نفس عنوان IP.
على سبيل المثال ، إذا كنت تقوم بتشغيل خادم ويب Apache يستمع إلى المنفذين
80
و
443
وتحاول تثبيت Nginx ، فسوف يفشل الإصدار الأحدث في البداية لأن منافذ HTTP و HTTPS قيد الاستخدام بالفعل.
تحقق من منافذ الاستماع مع
netstat
netstat
هي أداة سطر أوامر يمكنها توفير معلومات حول اتصالات الشبكة.
لسرد جميع منافذ TCP أو UDP التي يتم الاستماع إليها ، بما في ذلك الخدمات التي تستخدم المنافذ وحالة المقبس ، استخدم الأمر التالي:
sudo netstat -tunlp
الخيارات المستخدمة في هذا الأمر لها المعنى التالي:
-
-t- إظهار منافذ TCP.-u- إظهار منافذ UDP.-n- إظهار العناوين الرقمية بدلاً من حل المضيفين.-l- إظهار منافذ الاستماع فقط.-p- إظهار PID واسم عملية المستمع. يتم عرض هذه المعلومات فقط إذا قمت بتشغيل الأمر كمستخدم الجذر أو sudo.
سيظهر الإخراج بشيء من هذا القبيل:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
الأعمدة المهمة في حالتنا هي:
-
Proto- البروتوكول الذي يستخدمه المقبس.Local Address-Local AddressIP ورقم المنفذ الذي تستمع إليه العملية.PID/Program name- معرف العملية واسم العملية.
sudo netstat -tnlp | grep:22
يُظهر الإخراج أنه على هذا الجهاز ، يتم استخدام منفذ 22 من قبل خادم SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
إذا كان الإخراج فارغًا فهذا يعني أنه لا يوجد شيء يصغي على المنفذ.
يمكنك أيضًا تصفية القائمة بناءً على معايير ، على سبيل المثال ، PID ، البروتوكول ، الحالة ، وما إلى ذلك.
netstat
عفا عليه الزمن ويتم استبداله بـ
ss
و
ip
، ولكن لا يزال من أكثر الأوامر استخدامًا للتحقق من اتصالات الشبكة.
تحقق من منافذ الاستماع باستخدام
ss
ss
هو
netstat
الجديد. يفتقر إلى بعض ميزات
netstat
ولكنه يكشف عن مزيد من حالات TCP وهو أسرع قليلاً. خيارات الأوامر هي نفسها في الغالب ، لذا فإن الانتقال من
netstat
إلى
ss
ليس صعبًا.
للحصول على قائمة بجميع منافذ الاستماع باستخدام
ss
اكتب:
sudo ss -tunlp
الإخراج هو نفسه تقريبا الذي أبلغ عنه
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
تحقق منافذ الاستماع مع
lsof
lsof
هي أداة مساعدة قوية لسطر الأوامر توفر معلومات حول الملفات المفتوحة بواسطة العمليات.
في Linux ، كل شيء ملف. يمكنك التفكير في المقبس كملف يكتب على الشبكة.
للحصول على قائمة بجميع منافذ TCP للاستماع بنوع
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
الخيارات المستخدمة هي كما يلي:
-
-n- لا تقم بتحويل أرقام المنافذ إلى أسماء المنافذ.-p- لا تحل أسماء المضيفين ، اعرض العناوين الرقمية.-iTCP -sTCP:LISTEN- إظهار ملفات الشبكة فقط مع حالة TCP LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
معظم أسماء أعمدة المخرجات ذاتية التفسير:
-
COMMAND،PID،USER- الاسم ،PIDوالمستخدم الذي يقوم بتشغيل البرنامج المرتبط بالمنفذ.NAME- رقم المنفذ.
للعثور على العملية التي تستمع إليها على منفذ معين ، على سبيل المثال ، المنفذ
3306
الذي تستخدمه:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
يُظهر الإخراج أن المنفذ
3306
يستخدمه خادم MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
لمزيد من المعلومات ، تفضل بزيارة صفحة lsof man واقرأ جميع الخيارات القوية الأخرى لهذه الأداة.
استنتاج
لقد أوضحنا لك العديد من الأوامر التي يمكنك استخدامها للتحقق من المنافذ المستخدمة على نظامك ، وكيفية العثور على العملية التي تستمع إليها على منفذ معين.
طرفيةنظام التشغيل Chrome لنظام التشغيل Chrome: ليس نظام التشغيل الأول المستند إلى الويب
قد يحظى نظام التشغيل Chrome بكل الاهتمام ، ولكن العديد من الشركات تقدم منتجات مماثلة لأعوام.
هل يجب عليك ترك محرك أقراص ثابتة قيد التشغيل عندما لا يكون قيد الاستخدام؟
سأل مايك بيل عما إذا كان يجب عليه إيقاف تشغيله عندما لا يحتاجها. "هل هذا الإمداد الثابت أعلى [وأسفل] يضيف التآكل والدمع ...؟"
كيفية تشغيل نظام التشغيل chrome في نظام التشغيل windows 8 (أو نظام التشغيل windows 8.1) - توجيه التكنولوجيا
إليك كيفية الحصول على تجربة تشبه Chromebook في نظام التشغيل Windows 8 أو 8.1 من خلال تشغيل نظام التشغيل Chrome.







