/proc/net/netstat と /proc/net/snmp に関するドキュメントはありますか?

/proc/net/netstat と /proc/net/snmp に関するドキュメントはありますか?

/proc/net/netstatこれには長い統計のリストがあり、/proc/net/snmpすべてnet-toolsプロジェクトから来たようです。このフィールドの公式または非公式文書はありますか?それとも、それを識別するのに役立つWeb用語の良いソースですか?

一部ははっきりしているようです。

SyncookiesSent
SyncookieFailed
TCPTimeouts
TCPKeepalive

あまり明確ではないその他:

ActiveOpens
PassiveOpens

一部は私にとって完全に神秘的です。

EmbryonicRsts
RcvPruned 
... many more ...

修正する:私はその定義を次に見つけました。源泉しかし、まだこれらの説明がどこに行ったのか疑問に思います。どこでも編集・公開されていますか?

ベストアンサー1

これらの/proc/net/*ファイルはカーネルによって生成されます。エントリはnet/ipv4/proc.cカーネルのソースコードにあり、エントリのリストはカーネルがinclude/uapi/linux/snmp.h保持するさまざまなMIBデータベースから値を取得します。

ヘッダーファイルによると、snmp.hMIB定義は次の文書にあります。

ActiveOpensRFC 1213(47ページ)から:

tcpActiveOpens OBJECT-TYPE
          SYNTAX  Counter
          ACCESS  read-only
          STATUS  mandatory
          DESCRIPTION
                  "The number of times TCP connections have made a
                  direct transition to the SYN-SENT state from the
                  CLOSED state."
          ::= { tcp 5 }

RFCで項目が見つからない場合は、netstat周辺を検索する必要があります。この文書には詳細に説明されていない項目がかなり多くあります。簡単な要約以上のものが必要な場合は、説明している項目の一部をカーネルソースから検索する必要があります。

EmbryonicRstsに修正されましたnet/ipv4/tcp_minisocks.c、Linux 4.16では、少なくとも796行目にあります。、カウントが間違っているようです。 SYNリセットすぐに開かない接続。 SYNクッキー暴走が発生しない限り、このようなことが起こる可能性はほとんどありません。

おすすめ記事