proc_pid_net(5) File Formats Manual proc_pid_net(5)

/proc/pid/net/, /proc/net/ - اطلاعات لایه شبکه

/proc/pid/net/ (از لینوکس 2.6.25)
توضیحات /proc/net را مشاهده کنید.
/proc/net/
این دایرکتوری شامل فایل‌ها و زیرشاخه‌های گوناگونی است که حاوی اطلاعاتی دربارهٔ لایهٔ شبکه هستند. این پرونده‌ها ساختارهای اسکی (ASCII) دارند و بنابراین با دستور cat(1) نیز خواندنی هستند. با این حال، مجموعه ابزار استاندارد netstat(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" در صورت مشخص بودن، نگاشت لایه پیوند داده برای آن آدرس IP است.
/proc/net/dev
این شبه‌پرونده حاوی اطلاعات وضعیت دستگاه شبکه است. این فایل تعداد بسته‌های دریافتی و ارسالی، تعداد خطاها و برخوردها (collisions) و سایر آمارهای پایه‌ای را ارائه می‌دهد. این داده‌ها توسط برنامهٔ ifconfig(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
تعریف‌شده در /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/rarp
این فایل از همان ساختار و قالب پروندهٔ arp استفاده می‌کند و شامل پایگاه‌دادهٔ کنونی نگاشت معکوس است که برای ارائهٔ خدمات جستجوی آدرس معکوس توسط rarp(8) به کار می‌رود. اگر RARP در هسته پیکربندی نشده باشد، این فایل وجود نخواهد داشت.
/proc/net/raw
حاوی رونوشتی از جدول سوکت‌های خام (RAW) است. بیشتر اطلاعات این فایل به جز در موارد اشکال‌زدایی، چندان کاربردی نیست. مقدار "sl" شماره خانه جدول هش هسته برای سوکت است، "local_address" جفت آدرس محلی و شماره پروتکل است. "St" وضعیت داخلی سوکت را نشان می‌دهد. مقادیر "tx_queue" و "rx_queue" صف داده‌های خروجی و ورودی را از نظر میزان مصرف حافظهٔ هسته مشخص می‌کنند. فیلدهای "tr" ،"tm->when" و "rexmits" در RAW استفاده نمی‌شوند. فیلد "uid" شناسه کاربری مؤثر (UID) ایجادکنندهٔ سوکت را نگهداری می‌کند.
/proc/net/snmp
این پرونده حاوی داده‌های متنی اسکی مورد نیاز برای پایگاه‌های اطلاعات مدیریتی (MIB) مربوط به پروتکل‌های IP، ICMP، TCP و UDP برای یک عامل (agent) پروتکل SNMP است.
/proc/net/tcp
حاوی رونوشتی از جدول سوکت‌های TCP است. بسیاری از این اطلاعات به جز در موارد اشکال‌زدایی کاربرد چندانی ندارند. مقدار "sl" شماره خانهٔ جدول هش هسته برای سوکت است، "local_address" جفت آدرس محلی و شماره پورت می‌باشد. "rem_address" جفت آدرس دوردست و شماره پورت است (در صورت متصل بودن). "St" وضعیت داخلی سوکت است. مقادیر "tx_queue" و "rx_queue" صف داده‌های خروجی و ورودی بر مبنای میزان مصرف حافظه هسته هستند. فیلدهای "tr" ،"tm->when" و "rexmits" حاوی اطلاعات داخلی وضعیت سوکت در هسته هستند و تنها برای اشکال‌زدایی به کار می‌روند. فیلد "uid" شناسه کاربری مؤثر (UID) ایجادکننده سوکت را نشان می‌دهد.
/proc/net/udp
حاوی رونوشتی از جدول سوکت‌های UDP است. بیشتر اطلاعات آن به جز در موارد اشکال‌زدایی چندان مفید نیست. مقدار "sl" شماره خانهٔ جدول هش هسته برای سوکت است، "local_address" جفت آدرس محلی و شماره پورت است. "rem_address" جفت آدرس دوردست و شماره پورت است (در صورت متصل بودن). "St" وضعیت داخلی سوکت را نشان می‌دهد. مقادیر "tx_queue" و "rx_queue" صف داده‌های خروجی و ورودی بر مبنای میزان مصرف حافظه هسته هستند. فیلدهای "tr" ،"tm->when" و "rexmits" توسط UDP استفاده نمی‌شوند. فیلد "uid" شناسه کاربری مؤثر (UID) ایجادکننده سوکت را نگه می‌دارد. قالب آن به شرح زیر است:
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
/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
فیلدها به شرح زیر هستند:
شماره خانه در جدول هسته.
تعداد کاربران این سوکت.
در حال حاضر همیشه 0 است.
پرچم‌های داخلی هسته که وضعیت سوکت را مشخص می‌کنند.
نوع سوکت. برای سوکت‌های SOCK_STREAM این مقدار 0001 است؛ برای سوکت‌های SOCK_DGRAM برابر 0002 است؛ و برای سوکت‌های SOCK_SEQPACKET برابر 0005 است.
وضعیت داخلی سوکت.
شماره اینود (inode) سوکت.
مسیر متصل‌شده (در صورت وجود) به سوکت. سوکت‌های موجود در فضای نام انتزاعی (abstract namespace) نیز در فهرست گنجانده شده‌اند و با یک Path که با نویسهٔ '@' آغاز می‌شود نشان داده می‌شوند.
/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 است.

proc(5)

2026-02-08 Linux man-pages 6.19