ファイルの内容に関する詳細なドキュメントを探しています/proc/net/nf_conntrack
および/または/proc/net/ip_contrack
Linuxシステムの場合。
はい、知っています。これらのファイルの内容を人間が読める形式で表示できるユーティリティはたくさんありますが、Tomato USBファームウェア(Shibby製)を使用してSOHOルーターで表示したいと思います。 optware AFAIKは非推奨であり、entwareにはこれらのユーティリティが含まれていないため、代わりにスクリプトを記述したいのですが、これらのファイルの詳細な説明が見つかりませんでした:(
/proc/net/ip_conntrack
からの行の形式は、最初の2つの列が欠落していることを除いて、/proc/net/nf_conntrack
の場合と同じです。
net/netfilter/nf_conntrack_standalone.c
、 net/netfilter/nf_conntrack_acct.c
およびnet/netfilter/nf_conntrack_proto_*.c
カーネルソースファイルから理解できるように、後者のファイルの形式を要約してみます。 layer
という用語は、 OSIプロトコル層 モデルを指します。
ipv4
)。tcp
)。他のすべての列には名前が付けられているか(key=value
)、フラグを表します([UNREPLIED]
、[ASSURED]
、...)。 1行には、同じ名前の列を2つまで含めることができます(例:src
とdst
)。次に、最初の発生は要求方向に関連し、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-time
(CONFIG_NF_CONNTRACK_TIMESTAMP
が有効になっている場合)dst
(要求と応答)mark
(CONFIG_NF_CONNTRACK_MARK
が有効になっている場合)packets
(アカウンティングが有効になっている場合、要求と応答)secctx
(CONFIG_NF_CONNTRACK_SECMARK
が有効になっている場合)src
(要求と応答)use
zone
(CONFIG_NF_CONNTRACK_ZONES
が有効になっている場合)dccp
、 sctp
、 tcp
、 udp
および 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