web-dev-qa-db-ja.com

/ proc / net / ip_conntrackおよび/ proc / net / nf_conntrackの詳細

ファイルの内容に関する詳細なドキュメントを探しています/proc/net/nf_conntrackおよび/または/proc/net/ip_contrackLinuxシステムの場合。

はい、知っています。これらのファイルの内容を人間が読める形式で表示できるユーティリティはたくさんありますが、Tomato USBファームウェア(Shibby製)を使用してSOHOルーターで表示したいと思います。 optware AFAIKは非推奨であり、entwareにはこれらのユーティリティが含まれていないため、代わりにスクリプトを記述したいのですが、これらのファイルの詳細な説明が見つかりませんでした:(

17
user2286002

/proc/net/ip_conntrackからの行の形式は、最初の2つの列が欠落していることを除いて、/proc/net/nf_conntrackの場合と同じです。

net/netfilter/nf_conntrack_standalone.cnet/netfilter/nf_conntrack_acct.c およびnet/netfilter/nf_conntrack_proto_*.cカーネルソースファイルから理解できるように、後者のファイルの形式を要約してみます。 layerという用語は、 OSIプロトコル層 モデルを指します。

  • 最初の列:ネットワーク層プロトコル名(例:ipv4)。
  • 2番目の列:ネットワーク層のプロトコル番号。
  • 3番目の列:トランスポート層のプロトコル名(例:tcp)。
  • 4列目:トランスポート層のプロトコル番号。
  • 5列目:エントリが無効になるまでの秒数。
  • 6列目(すべてのプロトコルではありません):接続状態。

他のすべての列には名前が付けられているか(key=value)、フラグを表します([UNREPLIED][ASSURED]、...)。 1行には、同じ名前の列を2つまで含めることができます(例:srcdst)。次に、最初の発生は要求方向に関連し、2番目の発生は応答方向に関連します。

フラグの意味:

  • [ASSURED]:トラフィックは両方向(つまり、要求と応答)で見られました。
  • [UNREPLIED]:トラフィックはまだ応答方向で見られていません。接続追跡キャッシュがオーバーフローした場合、これらの接続が最初にドロップされます。

一部の列名は特定のプロトコルに対してのみ表示されることに注意してください(例:TCPおよびUDPの場合はsportおよびdport、ICMPの場合はtypeおよびcode)。その他の列名(例:mark)は、カーネルは特定のオプションで構築されました。

例:

  • ipv4 2 tcp 6 300 ESTABLISHED src=1.1.1.2 dst=2.2.2.2 sport=2000 dport=80 src=2.2.2.2 dst=1.1.1.1 sport=80 dport=12000 [ASSURED] mark=0 use=2は、確立されたTCPホスト1.1.1.2、ポート2000からホスト2.2.2.2、ポート80への接続に属し、そこから応答がホスト1.1.1.1、ポート12000に送信され、タイムアウトします。この接続では、パケットは両方向で見られました。
  • ipv4 2 icmp 1 3 src=1.1.1.2 dst=1.1.1.1 type=8 code=0 id=32354 src=1.1.1.1 dst=1.1.1.2 type=0 code=0 id=32354 mark=0 use=2は、ホスト1.1.1.2からホスト1.1.1.1へのICMPエコー要求パケットに属し、ホスト1.1.1.1からホスト1.1.1.2への予想されるエコー応答パケットで、3秒でタイムアウトします。

要求の送信元アドレスが応答の宛先ホストによってマスカレードされている可能性があるため、応答の宛先ホストは必ずしも要求の送信元ホストと同じである必要はありません。


以下の情報は最新ではない可能性があることに注意してください!

すべてのエントリで使用可能なフィールド:

  • bytes(アカウンティングが有効になっている場合、要求と応答)
  • delta-timeCONFIG_NF_CONNTRACK_TIMESTAMPが有効になっている場合)
  • dst(要求と応答)
  • markCONFIG_NF_CONNTRACK_MARKが有効になっている場合)
  • packets(アカウンティングが有効になっている場合、要求と応答)
  • secctxCONFIG_NF_CONNTRACK_SECMARKが有効になっている場合)
  • src(要求と応答)
  • use
  • zoneCONFIG_NF_CONNTRACK_ZONESが有効になっている場合)

dccpsctptcpudp および udplite 伝送層プロトコルで使用可能なフィールド:

  • dport(要求と応答)
  • sport(要求と応答)

icmp トランスポート層プロトコルに使用できるフィールド:

  • code(要求と応答)
  • id(要求と応答)
  • type(要求と応答)

gre トランスポート層プロトコルに使用できるフィールド:

  • dstkey(要求と応答)
  • srckey(要求と応答)
  • stream_timeout
  • timeout

6番目のフィールドに許可される値:

  • dccpトランスポート層プロトコル
    • CLOSEREQ
    • CLOSING
    • IGNORE
    • INVALID
    • NONE
    • OPEN
    • PARTOPEN
    • REQUEST
    • RESPOND
    • TIME_WAIT
  • sctpトランスポート層プロトコル
    • CLOSED
    • COOKIE_ECHOED
    • COOKIE_WAIT
    • ESTABLISHED
    • NONE
    • SHUTDOWN_ACK_SENT
    • SHUTDOWN_RECD
    • SHUTDOWN_SENT
  • tcpトランスポート層プロトコル
    • CLOSE
    • CLOSE_WAIT
    • ESTABLISHED
    • FIN_WAIT
    • LAST_ACK
    • NONE
    • SYN_RECV
    • SYN_SENT
    • SYN_SENT2
    • TIME_WAIT
37
Abrixas2