| PROC_NET(5) | فایلهای پیکربندی | PROC_NET(5) |
نام (NAME)
/proc/net - اطلاعات و آمار لایه شبکه در لینوکس
توضیحات (DESCRIPTION)
دایرکتوری /proc/net شامل فایلها و زیرشاخههای حاوی اطلاعات، جداول مسیریابی، سوکتها و آمار لایه شبکه سیستم است که ابزارهایی مانند netstat و ip از آن بهره میبرند.
- /proc/pid/net/ (از لینوکس 2.6.25)
- توضیحات مربوط به /proc/net را در زیر مشاهده کنید.
- /proc/net/
- این دایرکتوری شامل فایلها و زیرشاخههای گوناگونی است که حاوی اطلاعات لایه شبکه هستند. این پروندهها ساختارهای اسکی (ASCII) دارند و بنابراین با دستور cat(1) نیز قابل خواندن میباشند. با این حال، مجموعه ابزارهای استاندارد netstat(8) یا ip(8) دسترسی بسیار تمیزتر و منسجمتری به این پروندهها فراهم میکنند.
- با پیدایش فضاهای نام شبکه (network namespaces)، اطلاعات گوناگون پشته شبکه مجازیسازی شدهاند (نگاه کنید به network_namespaces(7)). بنابراین از لینوکس 2.6.25 به بعد، مسیر /proc/net یک پیوند نمادین (symlink) به دایرکتوری /proc/self/net است که شامل همان پروندهها و دایرکتوریهای فهرستشده در زیر میباشد. با این وجود، این پروندهها و دایرکتوریها اکنون اطلاعات مربوط به فضای نام شبکهای را بازتاب میدهند که فرایند جاری عضو آن است.
- /proc/net/arp
- این پرونده حاوی یک رونوشت متنی اسکی از جدول ARP هسته است که برای تفکیک آدرسها به کار میرود. این جدول هر دو نوع ورودیهای یاد گرفتهشده پویا و ورودیهای از پیش برنامهریزیشده ثابت ARP را نمایش میدهد. قالب آن به شرح زیر است:
-
IP address HW type Flags HW address Mask Device 192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0 192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0
- در اینجا "IP address" آدرس IPv4 رایانه و "HW type" نوع سختافزاری آدرس برگرفته از سند RFC 826 است. فلگها بیانگر پرچمهای داخلی ساختار ARP (تعریفشده در /usr/include/linux/if_arp.h) هستند و "HW address" در صورت شناسایی، نگاشت لایه پیوند داده (آدرس MAC) برای آن آدرس IP است.
- /proc/net/dev
- این شبهپرونده حاوی اطلاعات وضعیت کارتها و رابطهای شبکه سیستم است. این فایل تعداد بستههای ارسالی و دریافتی، تعداد خطاها، بستههای دور ریختهشده (drop)، سرریز صفوف (fifo)، برخوردها (collisions) و سایر آمارهای پایه را گزارش میدهد. ابزارهایی مانند ifconfig(8) و ip(8) از این دادهها برای گزارش وضعیت رابطها بهره میبرند. قالب این پرونده به صورت زیر است:
-
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0 eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0 ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0 tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
- /proc/net/dev_mcast
- نگهدارنده اطلاعات فیلترهای چندپخشی (multicast) لایه ۲ برای هر رابط شبکه است. تعریفشده در /usr/src/linux/net/core/dev_mcast.c:
-
indx interface_name dmi_u dmi_g dmi_address 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001
- /proc/net/igmp
- پروتکل مدیریت گروه اینترنت (Internet Group Management Protocol). شامل اطلاعات اشتراک و عضویت کارتهای شبکه در گروههای چندپخشی است. تعریفشده در /usr/src/linux/net/core/igmp.c.
- /proc/net/ip_tables_names
- نام تمام جدولهای فایروال فعال iptables(8) در هسته لینوکس را فهرست میکند (نظیر filter, nat, mangle, raw و security). این فایل به ابزارهای مدیریتی شبکه امکان میدهد تا به سرعت جدولهای فعال در فیلتر بسته هسته را شناسایی کنند.
- /proc/net/netstat
- شامل آمارهای پیشرفته و تفصیلی پروتکلهای شبکه در سطح هسته است که معمولاً توسط ابزارهایی مانند netstat(8) و nstat(8) نمایش داده میشوند. دادهها در قالب جفتخطهای برچسب و مقادیر عددی برای بخشهای TcpExt (شامل آمارهای کوکیهای SYN، انقضای زمان پاسخ، بستههای تاخیری ACK و بازفرستها)، IpExt (شامل خطاهای بستهها، بستههای چندپخشی، و همپوشانیهای قطعات IP) و MPTcpExt (آمارهای پروتکل چندمسیره TCP) سازماندهی شدهاند.
- /proc/net/rarp
- این پرونده از ساختاری مشابه پرونده arp استفاده میکند و شامل پایگاهداده نگاشت معکوس آدرسها جهت ارائه خدمات جستجوی آدرس معکوس توسط rarp(8) است. چنانچه پشتیبانی RARP در هسته پیکربندی نشده باشد، این پرونده وجود نخواهد داشت.
- /proc/net/raw
- شامل رونوشتی از جدول سوکتهای خام (RAW) در سیستم است. بیشتر اطلاعات آن برای اشکالزدایی کاربرد دارد. مقدار "sl" شماره خانه جدول هش هسته برای سوکت است و "local_address" جفت آدرس محلی و شماره پروتکل میباشد. مقدار "St" وضعیت داخلی سوکت را نشان میدهد. مقادیر "tx_queue" و "rx_queue" اندازه صفوف دادههای خروجی و ورودی بر مبنای مصرف حافظه هسته هستند. فیلدهای "tr"، "tm->when" و "rexmits" در سوکتهای خام استفاده نمیشوند. فیلد "uid" شناسه کاربری مؤثر (UID) ایجادکننده سوکت را نگهداری میکند.
- /proc/net/route
- این پرونده حاوی جدول مسیریابی IPv4 هسته به شکل متنی اسکی است (مشابه آنچه ابزارهایی مانند route(8) یا ip route نمایش میدهند). قالب آن به شکل زیر است:
-
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT enp3s0 00000000 011DEA54 0003 0 0 100 00000000 0 0 0
- در این جدول، فیلد Iface نام کارت شبکه، Destination آدرس شبکه مقصد در مبنای ۱۶، Gateway آدرس پیشفرض درگاه در مبنای ۱۶، Flags پرچمهای مسیر (مانند فعال بودن یا وجود Gateway)، Metric اولویت مسیر، و Mask نقاب شبکه مقصد را مشخص میکنند.
- /proc/net/snmp
- این پرونده حاوی دادههای متنی اسکی مورد نیاز برای پایگاههای اطلاعات مدیریتی (MIB) مربوط به پروتکلهای IP، ICMP، TCP و UDP جهت استفاده کارگزاران پروتکل مدیریت ساده شبکه (SNMP) است.
- /proc/net/tcp
- شامل رونوشتی از جدول سوکتهای پروتکل TCP است و اطلاعات بسیار ارزشمندی برای اشکالزدایی و تحلیل ارتباطات ارائه میدهد. مقدار "sl" شماره خانه جدول هش هسته، "local_address" جفت آدرس محلی و درگاه (پورت) در مبنای ۱۶، و "rem_address" جفت آدرس دوردست و درگاه مقصد (در صورت اتصال) است. عبارت "St" وضعیت داخلی سوکت را بیان میکند (مانند 01 برای ESTABLISHED و 0A برای LISTEN). مقادیر "tx_queue" و "rx_queue" حجم دادههای در انتظار ارسال و دریافت را بر حسب بایت نشان میدهند. فیلدهای "tr"، "tm->when" و "rexmits" حاوی جزئیات تایمرهای داخلی هسته و ارسالهای مجدد بسته هستند. فیلد "uid" شناسه کاربری ایجادکننده سوکت را در بر دارد.
- /proc/net/udp
- شامل رونوشتی از جدول سوکتهای پروتکل UDP است. بیشتر اطلاعات این فایل برای تحلیل و اشکالزدایی وضعیت پورتهای باز UDP مفید است. قالب آن به شرح زیر است:
-
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
- فیلدهای "tr"، "tm->when" و "rexmits" در پروتکل بدون اتصال UDP استفاده نمیشوند و معمولاً مقادیر صفر دارند.
- /proc/net/unix
- سوکتهای دامنه یونیکس (UNIX domain sockets) موجود در سیستم و وضعیت آنها را فهرست میکند. قالب آن به صورت زیر است:
-
Num RefCount Protocol Flags Type St Inode Path 0: 00000002 00000000 00000000 0001 03 42 1: 00000001 00000000 00010000 0001 01 1948 /dev/printer
- فیلدهای این پرونده عبارتند از:
- Num:
- شماره ردیف در جدول سوکتهای هسته.
- RefCount:
- تعداد فرایندها یا کاربرانی که این سوکت را باز نگه داشتهاند.
- Protocol:
- در حال حاضر همیشه مقدار 0 دارد.
- Flags:
- پرچمهای داخلی هسته که وضعیت سوکت را بازتاب میدهند.
- Type:
- نوع سوکت؛ برای سوکتهای جریانی SOCK_STREAM مقدار 0001، برای سوکتهای دیتاگرام SOCK_DGRAM مقدار 0002، و برای SOCK_SEQPACKET مقدار 0005 است.
- St:
- وضعیت داخلی سوکت.
- Inode:
- شماره اینود (inode) مرتبط با سوکت در سیستم فایل.
- Path:
- مسیر فایلی که سوکت به آن متصل شده است (در صورت وجود). سوکتهای موجود در فضای نام انتزاعی (abstract namespace) نیز در این فهرست گنجانده میشوند و با مسیری که با نویسه «@» شروع میشود به نمایش درمیآیند.
- /proc/net/netfilter/nfnetlink_queue
- این پرونده اطلاعات مربوط به صفبندی فضای کاربری netfilter را در صورت استفاده نمایش میدهد. هر خط بیانگر یک صف است. صفهایی که توسط هیچ برنامهای در فضای کاربری مشترک نشدهاند نشان داده نمیشوند.
-
1 4207 0 2 65535 0 0 0 1 (1) (2) (3)(4) (5) (6) (7) (8)
- فیلدهای موجود در هر خط عبارتند از:
- (1)
- شناسه صف (Queue ID). این شناسه مطابق با مقداری است که در گزینههای --queue-num یا --queue-balance برای هدف NFQUEUE در دستور iptables(8) تعیین میشود. برای اطلاعات بیشتر به iptables-extensions(8) مراجعه کنید.
- (2)
- شناسه پورت netlink که در این صف مشترک شده است.
- (3)
- تعداد بستههایی که هماکنون در صف قرار دارند و منتظر پردازش توسط برنامه کاربردی هستند.
- (4)
- حالت کپی صف؛ مقدار آن یا 1 است (تنها فراداده بسته کپی میشود) یا 2 (دادههای بدنه و محموله بسته نیز به فضای کاربری ارسال میشوند).
- (5)
- محدوده کپی؛ حداکثر چند بایت از دادههای بسته به فضای کاربری کپی شود.
- (6)
- بستههای دور ریختهشده توسط هسته (queue dropped). تعداد بستههایی که توسط هسته دور ریخته شدهاند به این علت که بستههای زیادی در انتظار دریافت پاسخ نهایی accept یا drop از سوی فضای کاربری مانده بودند.
- (7)
- بستههای دور ریختهشده در فضای کاربری (queue user dropped). تعداد بستههایی که در زیرسیستم netlink دور ریخته شدهاند. این اتفاق معمولاً هنگامی رخ میدهد که بافر سوکت پر شده باشد؛ یعنی فضای کاربری توانایی خواندن سریع پیامها را نداشته است.
- (8)
- شماره ترتیب (Sequence number). به هر بسته در صف یک شماره توالی یکنواخت صعودی (۳۲ بیتی) اختصاص مییابد. این فیلد شناسه تازهترین بسته واردشده به صف را نشان میدهد.
- آخرین عدد در انتهای خط فقط به دلایل سازگاری وجود دارد و همواره برابر 1 است.
همچنین ببینید (SEE ALSO)
cat(1), proc(5), network_namespaces(7), ifconfig(8), ip(8), iptables(8), netstat(8), route(8)
| مه ۲۰۲۵ | man-pages |