ss - أداة أخرى لفحص المقابس
الملخص
ss [خيارات] [فلتر]
الوصف
تُستخدم ss لعرض إحصائيات المقابس. تتيح عرض معلومات مماثلة لأداة netstat. يمكنها عرض المزيد من معلومات TCP والحالة مقارنة بالأدوات الأخرى.
الخيارات
عند عدم استخدام أي خيار، تعرض ss قائمة بالمقابس المفتوحة غير المستمعة (مثل TCP/UNIX/UDP) التي لديها اتصال مُنشأ.
-h, --help
عرض ملخص الخيارات.
-V, --version
إخراج معلومات الإصدار.
-H, --no-header
إخفاء سطر الرأس.
-Q, --no-queues
إخفاء أعمدة قائمة الإرسال والاستقبال.
-O, --oneline
طباعة بيانات كل مقبس في سطر واحد.
-n, --numeric
عدم محاولة حل أسماء الخدمات. عرض القيم الدقيقة لعرض النطاق الترددي، بدلاً من القيم سهلة القراءة.
-r, --resolve
محاولة حل العناوين/المنافذ الرقمية.
-a, --all
عرض كل من المقابس المستمعة وغير المستمعة (بالنسبة لـ TCP، هذا يعني الاتصالات المنشأة).
-l, --listening
عرض المقابس المستمعة فقط (يتم إخفاؤها افتراضيًا).
-B, --bound-inactive
عرض مقابس TCP المرتبطة ولكن غير النشطة فقط (يتم إخفاؤها افتراضيًا).
-o, --options
عرض معلومات المؤقت. بالنسبة لبروتوكول TCP، يكون تنسيق الإخراج:
timer:(<اسم_المؤقت>,<وقت_الانتهاء>,<عدد_إعادة_الإرسال>)
<اسم_المؤقت>
اسم المؤقت، هناك خمسة أنواع من أسماء المؤقتات:
on: يعني أحد هذه المؤقتات: مؤقت إعادة إرسال TCP، ومؤقت إعادة الإرسال المبكر لـ TCP، ومؤقت فحص فقدان الذيل.
keepalive: مؤقت الاتصال النشط لـ TCP.
timewait: مؤقت مرحلة الانتظار.
persist: مؤقت فحص النافذة الصفرية.
unknown: لا شيء مما سبق.
<وقت_الانتهاء>
كم من الوقت سينتهي المؤقت.
<عدد_إعادة_الإرسال>
عدد مرات إعادة الإرسال.
-e, --extended
عرض معلومات مفصلة عن المقبس. تنسيق الإخراج هو:
uid:<معرف_المستخدم> ino:<رقم_العقدة> sk:<معرف>
<معرف_المستخدم>
معرف المستخدم الذي ينتمي إليه المقبس.
<رقم_العقدة>
رقم عقدة المقبس في نظام الملفات الظاهري (VFS).
<معرف>
معرف فريد عالميًا (UUID) للمقبس.
-m, --memory
عرض استخدام ذاكرة المقبس. تنسيق الإخراج هو:
skmem:(r<حجم_الذاكرة_المخصصة_للاستقبال>,rb<حجم_مخزن_الاستقبال>,t<حجم_الذاكرة_المخصصة_للإرسال>,tb<حجم_مخزن_الإرسال>,
f<حجم_الذاكرة_المخصصة_للتخزين_المؤقت>,w<حجم_الذاكرة_المستخدمة_للتخزين>,o<حجم_ذاكرة_الخيار>,
bl<حجم_قائمة_الانتظار>,d<حجم_المقبس_المهمل>)
<حجم_الذاكرة_المخصصة_للاستقبال>
الذاكرة المخصصة لاستقبال الحزم.
<حجم_مخزن_الاستقبال>
إجمالي الذاكرة التي يمكن تخصيصها لاستقبال الحزم.
<حجم_الذاكرة_المخصصة_للإرسال>
الذاكرة المستخدمة لإرسال الحزم (والتي تم إرسالها إلى الطبقة الثالثة).
<حجم_مخزن_الإرسال>
إجمالي الذاكرة التي يمكن تخصيصها لإرسال الحزم.
<حجم_الذاكرة_المخصصة_للتخزين_المؤقت>
الذاكرة المخصصة بواسطة المقبس كذاكرة تخزين مؤقت، ولكن لم يتم استخدامها بعد لاستقبال/إرسال الحزم. إذا كانت هناك حاجة إلى ذاكرة لإرسال/استقبال الحزم، فسيتم استخدام الذاكرة الموجودة في هذه الذاكرة المؤقتة قبل تخصيص ذاكرة إضافية.
<wmem_queued>
الذاكرة المخصصة لإرسال الحزمة (التي لم يتم إرسالها إلى الطبقة الثالثة)
<opt_mem>
الذاكرة المستخدمة لتخزين خيار المقبس، على سبيل المثال، المفتاح لتوقيع TCP MD5
<back_log>
الذاكرة المستخدمة لقائمة انتظار sk الخلفية. في سياق العملية، إذا كانت العملية تستقبل حزمًا، وتم استلام حزمة جديدة، فسيتم وضعها في قائمة انتظار sk الخلفية، بحيث يمكن للعملية استقبالها على الفور.
<sock_drop>
عدد الحزم التي تم إسقاطها قبل فك ترميزها إلى المقبس
-p، --processes
عرض العملية التي تستخدم المقبس.
-T، --threads
عرض سلسلة العمليات التي تستخدم المقبس. يعني -p.
-i، --info
عرض معلومات TCP الداخلية. قد تظهر الحقول التالية:
ts عرض السلسلة "ts" إذا تم تعيين خيار الطابع الزمني
sack عرض السلسلة "sack" إذا تم تعيين خيار "sack"
ecn عرض السلسلة "ecn" إذا تم تعيين خيار إشعار الازدحام الصريح
ecnseen
عرض السلسلة "ecnseen" إذا تم العثور على علامة "ecnseen" في الحزم المستلمة
fastopen
عرض السلسلة "fastopen" إذا تم تعيين خيار "fastopen"
cong_alg
اسم خوارزمية التحكم في الازدحام، خوارزمية التحكم في الازدحام الافتراضية هي "cubic"
wscale:<snd_wscale>:<rcv_wscale>
إذا تم استخدام خيار مقياس النافذة، يعرض هذا الحقل عامل مقياس الإرسال وعامل مقياس الاستقبال
rto:<icsk_rto>
قيمة مهلة إعادة إرسال TCP، والوحدة هي مللي ثانية
backoff:<icsk_backoff>
تستخدم لإعادة الإرسال المتزايدة، وقيمة المهلة الفعلية لإعادة الإرسال هي icsk_rto << icsk_backoff
rtt:<rtt>/<rttvar>
rtt هو متوسط وقت التنقل ذهابًا وإيابًا، وrttvar هو الانحراف المتوسط لـ rtt، ووحداتهما هي مللي ثانية
ato:<ato>
مهلة الإقرار، والوحدة هي مللي ثانية، وتستخدم لوضع التأخير في الإقرار
mss:<mss>
أكبر حجم للقطعة
cwnd:<cwnd>
حجم نافذة الازدحام
pmtu:<pmtu>
قيمة وحدة الإرسال القصوى للمسار
ssthresh:<ssthresh>
عتبة النافذة الازدحامية TCP للبدء البطيء
bytes_acked:<bytes_acked>
عدد البايتات التي تم الإقرار بها
bytes_received:<bytes_received>
عدد البايتات المستلمة
segs_out:<segs_out>
عدد القطع المرسلة
segs_in:<segs_in>
عدد القطع المستلمة
send <send_bps>bps
معدل إرسال البيانات بالبت في الثانية
lastsnd:<lastsnd>
كم من الوقت منذ إرسال آخر حزمة، والوحدة هي مللي ثانية
lastrcv:<lastrcv>
كم من الوقت منذ استلام آخر حزمة، والوحدة هي مللي ثانية
lastack:<lastack>
كم من الوقت منذ استلام آخر إقرار، والوحدة هي مللي ثانية
pacing_rate <pacing_rate>bps/<max_pacing_rate>bps
معدل التقييم وأقصى معدل تقييم
rcv_space:<rcv_space>
متغير مساعد لضبط تلقائي لـ TCP لمخزن مقبس الاستقبال
tcp-ulp-mptcp flags:[MmBbJjecv] token:<rem_token(rem_id)/loc_token(loc_id)> seq:<sn> sfseq:<ssn> ssnoff:<off> maplen:<maplen>
معلومات التدفق الفرعي لـ MPTCP
--tos عرض معلومات ToS والأولوية. قد تظهر الحقول التالية:
tos بايت خدمة IPv4
tclass بايت فئة حركة IPv6
class_id
معرف الفئة الذي تم تعيينه بواسطة مجموعة تحكم net_cls. إذا كانت الفئة صفرًا، فسيتم عرض الأولوية التي تم تعيينها بواسطة SO_PRIORITY.
--cgroup
عرض معلومات مجموعة التحكم. قد تظهر الحقول التالية:
cgroup مسار Cgroup v2. هذا المسار نسبي لموقع نقطة التركيب للتسلسل الهرمي.
--tipcinfo
عرض معلومات المقبس الداخلي لـ tipc.
-K، --kill
يحاول إغلاق المقابس بالقوة. يعرض هذا الخيار المقابس التي تم إغلاقها بنجاح ويتجاهل المقابس التي لا يدعمها النواة للإغلاق. يدعم مقابس IPv4 و IPv6 فقط.
-s، --summary
طباعة إحصائيات موجزة. لا يحلل هذا الخيار قوائم المقابس للحصول على ملخص، بل يحصل على الملخص من مصادر مختلفة. يكون هذا الخيار مفيدًا عندما يكون عدد المقابس كبيرًا جدًا لدرجة أن تحليل /proc/net/tcp يصبح صعبًا.
-E، --events
يعرض باستمرار المقابس عند تدميرها.
-Z، --context
مثل الخيار -p، ولكنه يعرض أيضًا سياق أمان العملية. إذا تم استخدام الخيار -T، فإنه يعرض أيضًا سياق أمان الخيط.
بالنسبة لمقابس netlink(7)، يتم عرض سياق العملية التي بدأت العملية على النحو التالي:
### إذا كان معرف العملية صالحًا، فاعرض سياق العملية.
### إذا كانت الوجهة هي النواة (معرف العملية = 0)، فاعرض سياق النواة الأولي.
### إذا تم تخصيص معرف فريد بواسطة النواة أو مستخدم netlink، فاعرض السياق على أنه "غير متاح". يشير هذا عمومًا إلى أن العملية لديها أكثر من مقبس netlink نشط.
-z، --contexts
مثل الخيار -Z، ولكنه يعرض أيضًا سياق المقبس. يتم الحصول على سياق المقبس من عقدة الارتباط المرتبطة، وليس سياق المقبس الفعلي الذي تحتفظ به النواة. عادةً ما يتم وضع علامة على المقابس بسياق العملية التي أنشأتها، ومع ذلك، سيعكس السياق المعروض أي دور سياسي أو نوع أو قواعد انتقال نطاق تطبق، وبالتالي فهو مرجع مفيد.
-N NSNAME، --net=NSNAME
التبديل إلى مساحة الاسم الشبكية المحددة.
-b، --bpf
عرض عوامل تصفية BPF الكلاسيكية للمقبس (يُسمح للمسؤولين فقط بالحصول على هذه المعلومات).
-4، --ipv4
عرض مقابس الإصدار الرابع من بروتوكول الإنترنت فقط (اسم مستعار لـ -f inet).
-6، --ipv6
عرض مقابس الإصدار السادس من بروتوكول الإنترنت فقط (اسم مستعار لـ -f inet6).
-0، --packet
عرض مقابس PACKET (اسم مستعار لـ -f link).
-t، --tcp
عرض مقابس TCP.
-u، --udp
عرض مقابس UDP.
-d، --dccp
عرض مقابس DCCP.
-w، --raw
عرض مقابس RAW.
-x، --unix
عرض مقابس مجال Unix (اسم مستعار لـ -f unix).
-S، --sctp
عرض مقابس SCTP.
--tipc
عرض مقابس tipc (اسم مستعار لـ -f tipc).
--vsock
عرض مقابس vsock (اسم مستعار لـ -f vsock).
--xdp
عرض مقابس XDP (اسم مستعار لـ -f xdp).
-M، --mptcp
عرض مقابس MPTCP.
--inet-sockopt
عرض خيارات مقبس inet.
-f FAMILY، --family=FAMILY
عرض المقابس من النوع FAMILY. تدعم العائلات التالية حاليًا: unix، inet، inet6، link، netlink، vsock، tipc، xdp.
-A QUERY، --query=QUERY، --socket=QUERY
قائمة بجداول المقابس المراد تفريغها، مفصولة بفواصل. يتم فهم المعرفات التالية: all، inet، tcp، udp، raw، unix، packet، netlink، unix_dgram، unix_stream، unix_seqpacket، packet_raw، packet_dgram، dccp، sctp، tipc، vsock_stream، vsock_dgram، xdp، mptcp.
يمكن أن يسبق أي عنصر في القائمة اختياريًا علامة تعجب (!) لاستبعاد جدول المقابس هذا من التفريغ.
-D FILE, --diag=FILE
لا يعرض أي شيء، بل يقوم بتفريغ معلومات خام حول مقابس TCP إلى FILE بعد تطبيق المرشحات. إذا كانت FILE هي -، فسيتم استخدام stdout.
-F FILE, --filter=FILE
اقرأ معلومات المرشح من FILE. كل سطر من FILE يتم تفسيره كسلسلة أوامر سطر أوامر واحد. إذا كانت FILE هي -، فسيتم استخدام stdin.
--bpf-maps
اطبع بشكل جميل جميع إدخالات البيانات المحلية لمقبس BPF لكل مقبس.
--bpf-map-id=MAP_ID
اطبع بشكل جميل إدخالات البيانات المحلية لمقبس BPF للمعرف المطلوب. يمكن استخدامه أكثر من مرة.
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
يرجى الاطلاع على الوثائق الرسمية للحصول على تفاصيل حول المرشحات.
STATE-FILTER
يتيح STATE-FILTER إنشاء مجموعة عشوائية من الحالات للمطابقة. بناء الجملة الخاص به هو تسلسل من الكلمات الرئيسية state و exclude متبوعًا بمعرف الحالة.
المعرفات المتاحة هي:
All: جميع حالات TCP القياسية: established، syn-sent، syn-recv، fin-wait-1، fin-wait-2، timewait، closed، close-wait، last-ack، listening و closing.
all: لجميع الحالات.
connected: جميع الحالات باستثناء listening و closed.
synchronized: جميع الحالات المتصلة باستثناء syn-sent.
bucket: الحالات التي يتم الاحتفاظ بها كـ minisockets، أي time-wait و syn-recv.
big: عكس bucket.
bound-inactive: المقابس المرتبطة ولكن غير النشطة (ليست في وضع الاستماع أو الاتصال، إلخ).
EXPRESSION
يتيح EXPRESSION التصفية بناءً على معايير محددة. يتكون EXPRESSION من سلسلة من المسندات المجمعة بواسطة عوامل منطقية. العوامل الممكنة بترتيب تصاعدي للأسبقية هي: or (أو | أو ||)، and (أو & أو &&)، و not (أو !). إذا لم يكن هناك عامل بين المسندات المتتالية، يتم افتراض عامل and ضمني. يمكن تجميع العبارات الفرعية باستخدام "(" و ")".
المسندات التالية مدعومة:
{dst|src} [=] HOST
اختبر ما إذا كان الهدف أو المصدر يطابق HOST. راجع بناء جملة HOST للحصول على التفاصيل.
{dport|sport} [OP] [FAMILY:]:PORT
قارن منفذ الوجهة أو المصدر بـ PORT. يمكن أن يكون OP أيًا من "<" أو "<=" أو "=" أو "!=" أو ">=" و ">". باتباع القواعد الحسابية العادية. FAMILY و PORT كما هو موضح في بناء جملة HOST أدناه.
dev [=|!=] DEVICE
طابق بناءً على الجهاز الذي تستخدمه الاتصال. يمكن أن يكون DEVICE إما اسم جهاز أو فهرس الواجهة.
fwmark [=|!=] MASK
يطابق بناءً على قيمة fwmark للاتصال. يمكن أن تكون هذه إما قيمة علامة محددة أو قيمة علامة متبوعة بشرطة مائلة وقناع بت يحدد أي البتات التي يجب استخدامها في المقارنة. على سبيل المثال، "fwmark = 0x01/0x03" سيطابق إذا كانت أقل بتين في fwmark هما 0x01.
cgroup [=|!=] PATH
طابق إذا كان الاتصال جزءًا من مجموعة تحكم في المسار المحدد.
autobound
طابق إذا تم تخصيص المنفذ أو المسار لعنوان المصدر تلقائيًا (بدلاً من تحديده بشكل صريح).
معظم العوامل لها أسماء مستعارة. إذا لم يتم توفير عامل، يتم افتراض "=". كل من مجموعات العوامل التالية متكافئة:
= == eq
!= ne neq
> gt
< lt
>= ge geq
<= le leq
! not
| || or
& && and
بناء الجملة الخاص بالمضيف
البناء العام للجملة الخاص بالمضيف هو [العائلة:]العنوان[:المنفذ].
يجب أن تكون العائلة واحدة من العائلات المدعومة بواسطة الخيار -f. إذا لم يتم تحديدها، فسيتم افتراضياً العائلة المحددة باستخدام الخيار -f، وإذا كان هذا الخيار مفقودًا أيضًا، فسيتم افتراض إما inet أو inet6.
لاحظ أن جميع شروط المضيف في التعبير يجب أن تكون إما من نفس العائلة أو أن تكون inet و inet6 فقط. إذا كان هناك مزيج آخر من العائلات، فمن المحتمل أن تكون النتائج غير متوقعة.
يعتمد شكل العنوان والمنفذ على العائلة المستخدمة. يمكن استخدام "\*" كحرف بدل لكل من العنوان أو المنفذ. التفاصيل لكل عائلة هي كما يلي:
unix العنوان هو نمط glob (انظر fnmatch(3)) الذي سيتم مطابقته بشكل غير حساس لحالة الأحرف مقابل عنوان مقبس Unix. يتم دعم كل من أسماء المسار والأسماء المجردة. لا تدعم عناوين Unix منفذًا، ولا يمكن استخدام "\*" كحرف بدل.
link العنوان هو الاسم غير حساس لحالة الأحرف لبروتوكول Ethernet للمطابقة. المنفذ هو إما اسم جهاز أو فهرس جهاز لجهاز الربط المطلوب، كما هو ظاهر في إخراج الأمر ip link.
netlink
العنوان هو وصف لعائلة netlink. القيم المحتملة تأتي من /etc/iproute2/nl_protos. المنفذ هو معرف منفذ المقبس، وهو عادةً نفس معرف العملية المالكة. يمكن استخدام القيمة "kernel" لتمثيل النواة (معرف منفذ 0).
vsock العنوان هو عدد صحيح يمثل عنوان CID، والمنفذ هو المنفذ.
inet و inet6
العنوان هو عنوان IP (إما v4 أو v6 اعتمادًا على العائلة) أو اسم مضيف DNS الذي يحل إلى عنوان IP من الإصدار المطلوب. يجب إحاطة عنوان IPv6 بين "[" و "]" للتفريق بين فاصل المنفذ. يمكن أن يحتوي العنوان أيضًا على طول بادئة مُعطى في تدوين CIDR (شرطة مائلة متبوعة بطول البادئة بالبتات). المنفذ هو إما منفذ المقبس العددي، أو اسم الخدمة للمطابقة.
أمثلة على الاستخدام
ss -t -a
عرض جميع مقابس TCP.
ss -t -a -Z
عرض جميع مقابس TCP مع سياقات أمان SELinux للعملية.
ss -u -a
عرض جميع مقابس UDP.
ss -o state established '( dport = :ssh or sport = :ssh )'
عرض جميع اتصالات ssh التي تم إنشاؤها.
ss -x src /tmp/.X11-unix/*
اعثر على جميع العمليات المحلية المتصلة بخادم X.
ss -o state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24
اعرض جميع مقابس TCP في حالة FIN-WAIT-1 لـ apache الخاص بنا للشبكة 193.233.7/24 واعرض مؤقتاتها.
ss -a -A 'all,!tcp'
عرض المقابس في جميع الحالات من جميع جداول المقابس باستثناء TCP.
انظر أيضا
ip(8)، RFC 793 - https://tools.ietf.org/rfc/rfc793.txt (حالات TCP)
المؤلف
تم كتابة ss بواسطة أليكسي كوزنتسوف، <_>.
تمت كتابة هذه الصفحة اليدوية بواسطة مايكل بروكوب <\_\> لمشروع Debian (ولكن يمكن استخدامها من قبل الآخرين).