كيفية استخدام الأمر ss على نظام Linux
فاطماواتي أحمد زينوري / شاترستوك
ال ss
command هو بديل حديث عن الطراز الكلاسيكي netstat
. يمكنك استخدامه على Linux للحصول على إحصائيات حول اتصالات الشبكة الخاصة بك. إليك كيفية العمل باستخدام هذه الأداة المفيدة.
الأمر ss مقابل netstat
بديل عن الموقوف netstat
يأمر ، ss
يعطيك معلومات مفصلة حول كيفية اتصال جهاز الكمبيوتر الخاص بك بأجهزة الكمبيوتر والشبكات والخدمات الأخرى.
ss
يعرض إحصائيات عن بروتوكول التحكم بالإرسال (TCP) ، بروتوكول مخطط المستخدم (UDP) ، يونكس (interprocess) والمآخذ الخام. مآخذ الخام تعمل في مستوى OSI للشبكة ، مما يعني أنه يجب التعامل مع رؤوس TCP و UDP بواسطة برنامج التطبيق ، وليس بواسطة طبقة النقل. بروتوكول التحكم برسائل شبكة الانترنت (ICMP) و بينغ فائدة كلاهما استخدام مآخذ الخام.
باستخدام ss
لست مضطرًا إلى تثبيت ss
، لأنه بالفعل جزء من توزيعة Linux حديثة. ومع ذلك ، يمكن أن يكون ناتجها طويلًا جدًا - لدينا نتائج تحتوي على أكثر من 630 سطرًا. النتائج أيضا واسعة جدا.
لهذا السبب ، قمنا بتضمين تمثيلات نصية للنتائج التي حصلنا عليها ، لأنها لن تتناسب مع لقطة الشاشة. لقد قلصناها لجعلها أكثر قابلية للإدارة.
سرد اتصالات الشبكة
باستخدام ss
مع عدم وجود خيارات سطر الأوامر يسرد مآخذ التوصيل التي لا تستمع. أي أنه يسرد المنافذ التي ليست في حالة الاستماع.
لمشاهدة هذا ، اكتب ما يلي:
-l
-a
الأعمدة هي كما يلي:
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
بالنسبة لمآخذ توصيل UDP ، يكون عمود الحالة فارغًا عادةً. بالنسبة لمآخذ TCP يمكن أن يكون واحدًا مما يلي:
قائمة مآخذ الاستماع
لمشاهدة مآخذ الاستماع سنضيف -t
(الاستماع) الخيار ، مثل ذلك:
ss -a -t
-u
كل هذه المقابس غير متصلة وتستمع. يعني rtnl توجيه netlink ، والذي يستخدم لنقل المعلومات بين عمليات kernel و userpace.
سرد جميع المقابس
لسرد كافة مآخذ التوصيل ، يمكنك استخدام -x
(الكل) الخيار:
-w
-4
يحتوي الإخراج على جميع المقابس ، بغض النظر عن الحالة.
سرد مآخذ TCP
يمكنك أيضًا تطبيق مرشح بحيث يتم عرض المقابس المتطابقة فقط. سنستخدم -6
(TCP) ، لذلك سيتم سرد مآخذ TCP فقط:
state
سرد مآخذ UDP
ال -r
(UDP) يقوم الخيار بنفس نوع إجراء التصفية. هذه المرة ، سنرى مآخذ UDP فقط:
ss
dport
سرد مآخذ يونكس
لمشاهدة مآخذ Unix فقط ، يمكنك تضمين sport
(يونكس) كما هو موضح أدناه:
established
dst
سرد مآخذ الخام
مرشح المقابس الأولية هو -p
(خام) الخيار:
sudo
قائمة IP الإصدار 4 مآخذ
يمكن إدراج مآخذ التوصيل التي تستخدم بروتوكول TCP / IP الإصدار 4 باستخدام ss
خيار (IPV4):
netstat
سرد IP الإصدار 6 مآخذ
يمكنك تشغيل عامل تصفية الإصدار 6 من IP المطابق باستخدام
ss(IPV6) ، مثل:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 /run/systemd/journal/stdout 35689 * 35688 u_str ESTAB 0 0 * 35550 * 35551 ... u_str ESTAB 0 0 * 38127 * 38128 u_str ESTAB 0 0 /run/dbus/system_bus_socket 21243 * 21242 u_str ESTAB 0 0 * 19039 * 19040 u_str ESTAB 0 0 /run/systemd/journal/stdout 18887 * 18885 u_str ESTAB 0 0 /run/dbus/system_bus_socket 19273 * 17306 icmp6 UNCONN 0 0 *:ipv6-icmp *:* udp ESTAB 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps
قائمة مآخذ حسب الدولة
يمكنك سرد المآخذ حسب الحالة التي تكون فيها مع
ss -lاختيار. هذا يعمل مع الدول الراسخة أو المستمعة أو المغلقة. سنستخدم أيضًا خيار الحل (
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process nl UNCONN 0 0 rtnl:NetworkManager/535 * nl UNCONN 0 0 rtnl:evolution-addre/2987 * ... u_str LISTEN 0 4096 /run/systemd/private 13349 * 0 u_seq LISTEN 0 4096 /run/udev/control 13376 * 0 u_str LISTEN 0 4096 /tmp/.X11-unix/X0 33071 * 0 u_dgr UNCONN 0 0 /run/systemd/journal/syslog 13360 * 0 u_str LISTEN 0 4096 /run/systemd/fsck.progress 13362 * 0 u_dgr UNCONN 0 0 /run/user/1000/systemd/notify 32303 * 0) ، الذي يحاول حل عناوين الشبكة إلى أسماء ، والمنافذ إلى البروتوكولات. الإعلانات
سيبحث الأمر التالي عن اتصالات TCP التي تم تأسيسها ، و
ss -aسيحاول حل الأسماء:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process nl UNCONN 0 0 rtnl:NetworkManager/535 * nl UNCONN 0 0 rtnl:evolution-addre/2987 * ... u_str LISTEN 0 100 public/showq 23222 * 0 u_str LISTEN 0 100 private/error 23225 * 0 u_str LISTEN 0 100 private/retry 23228 * 0 ... udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* ... tcp LISTEN 0 128 [::]:ssh [::]:* tcp LISTEN 0 5 [::1]:ipp [::]:* tcp LISTEN 0 100 [::1]:smtp [::]:*
يتم سرد أربعة اتصالات في حالة المنشأة. تم حل اسم المضيف ، ubuntu20-04 ، وتم عرض ssh بدلاً من 22 لاتصال SSH في السطر الثاني.
يمكننا تكرار هذا للبحث عن مآخذ في حالة الاستماع:
ss -a -u
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process UNCONN 0 0 0.0.0.0:631 0.0.0.0:* UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* UNCONN 0 0 0.0.0.0:60734 0.0.0.0:* UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:* ESTAB 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps UNCONN 0 0 [::]:mdns [::]:* UNCONN 0 0 [::]:51193 [::]:*
قائمة مآخذ عن طريق البروتوكول
يمكنك سرد مآخذ التوصيل باستخدام بروتوكول معين مع
ss -a -xو
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 * 23183 * 23184 u_str ESTAB 28 0 @/tmp/.X11-unix/X0 52640 * 52639 ... u_str ESTAB 0 0 /run/systemd/journal/stdout 18887 * 18885 u_str ESTAB 0 0 /run/dbus/system_bus_socket 19273 * 17306الخيارات ، التي تمثل المنفذ الوجهة والمصدر ، على التوالي.
نكتب ما يلي لسرد مآخذ التوصيل باستخدام بروتوكول HTTPS على
ss -a -wاتصال (لاحظ المسافة بعد قوس الفتح وقبل إغلاق القوس):
ss -a -4
يمكننا استخدام اسم البروتوكول أو المنفذ المرتبط عادة بهذا البروتوكول. المنفذ الافتراضي لـ صدفه آمنه (SSH) هو المنفذ 22.
الإعلاناتسنستخدم اسم البروتوكول في أمر واحد ، ثم نكرره باستخدام رقم المنفذ:
ss -a -6
ss -t -r state established
كما هو متوقع ، حصلنا على نفس النتائج.
سرد الاتصالات بعنوان IP محدد
باستخدام
ss -t -r state listening(الوجهة) ، يمكننا سرد الاتصالات بعنوان IP وجهة معينة.
نكتب ما يلي:
Recv-Q Send-Q Local Address:Port Peer Address:Port Process 0 128 localhost:5939 0.0.0.0:* 0 4096 localhost%lo:domain 0.0.0.0:* 0 128 0.0.0.0:ssh 0.0.0.0:* 0 5 localhost:ipp 0.0.0.0:* 0 100 localhost:smtp 0.0.0.0:* 0 128 [::]:ssh [::]:* 0 5 ip6-localhost:ipp [::]:* 0 100 ip6-localhost:smtp [::]:*
تحديد العمليات
لمعرفة العمليات التي تستخدم المآخذ ، يمكنك استخدام خيار العمليات (
ss -a state established '( dport = :https or sport = :https )') ، كما هو موضح أدناه (لاحظ أنه يجب عليك استخدام
ss -a '( dport = :ssh or sport = :ssh )'):
ss -a '( dport = :22 or sport = :22 )'
ss -a dst 192.168.4.25
يوضح لنا هذا أن الوصلين الراسخين على مآخذ TCP يتم استخدامهما بواسطة عفريت SSH و Firefox.
خليفة جدير
ال
sudo ss -t -pيوفر الأمر نفس المعلومات التي تم توفيرها مسبقًا بواسطة
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process ESTAB 0 0 192.168.4.28:57650 54.218.19.119:https users:(('firefox',pid=3378,fd=151)) ESTAB 0 0 192.168.4.28:ssh 192.168.4.25:43946 users:(('sshd',pid=4086,fd=4),('sshd',pid=3985,fd=4))، ولكن بطريقة أبسط وأكثر سهولة. يمكنك التحقق من صفحة الرجل لمزيد من الخيارات والنصائح.
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالياستخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة