gpt4 book ai didi

python -/proc/net/ip_conntrack和/proc/net/nf_conntrack的详细信息

转载 作者:IT老高 更新时间:2023-10-28 21:09:07 43 4
gpt4 key购买 nike

我正在寻找有关Linux系统上/proc/net/nf_conntrack和/或/proc/net/ip_contrack文件内容的详细文档。

是的,我知道,有许多实用程序可以用人类可读的格式向我显示这些文件的内容,但是...我想在带有Tomato USB固件(由Shibby编写)的SOHO路由器上进行操作。
optware AFAIK已过时,该entware不包含任何这些实用程序,因此我想编写脚本来代替它们,但是我没有找到这些文件的详细说明:(

最佳答案

/proc/net/ip_conntrack中一行的格式与/proc/net/nf_conntrack中的相同,只是前两列丢失了。

我将从 net/netfilter/nf_conntrack_standalone.c net/netfilter/nf_conntrack_acct.c net/netfilter/nf_conntrack_proto_*.c内核源文件了解到后者的格式。术语layer是指OSI protocol layer模型。

  • 第一列:网络层协议(protocol)名称(例如ipv4)。
  • 第二列:网络层协议(protocol)号。
  • 第三列:传输层协议(protocol)名称(例如tcp)。
  • 第四列:传输层协议(protocol)号。
  • 第五列:直到条目无效的秒数。
  • 第六列(并非所有协议(protocol)):连接状态。

  • 所有其他列都被命名为( key=value)或代表标志( [UNREPLIED][ASSURED],...)。一行最多可以包含两列具有相同名称的列(例如 srcdst)。然后,第一次出现与请求方向有关,第二次出现与响应方向有关。

    标志的含义:
  • [ASSURED]:在两个方向(即请求和响应)都可以看到流量。
  • [UNREPLIED]:尚未在响应方向上看到流量。万一连接跟踪缓存溢出,这些连接将首先被丢弃。

  • 请注意,某些列名称仅针对特定协议(protocol)出现(例如,对于TCP和UDP,为 sportdport;对于ICMP,为 typecode)。其他列名称(例如 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的预期回声应答数据包,超时三秒钟。

  • 响应目标主机不一定与请求源主机相同,因为请求源地址可能已被响应目标主机伪装。

    请注意,以下信息可能不是最新的!

    适用于所有条目的字段:
  • 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 传输层协议(protocol)可用的字段:
  • dport(请求和响应)
  • sport(请求和响应)

  • icmp 传输层协议(protocol)可用的字段:
  • code(请求和响应)
  • id(请求和响应)
  • type(请求和响应)

  • gre 传输层协议(protocol)可用的字段:
  • dstkey(请求和响应)
  • srckey(请求和响应)
  • stream_timeout
  • timeout

  • 第六个字段的允许值:
  • dccp传输层协议(protocol)
  • CLOSEREQ
  • CLOSING
  • IGNORE
  • INVALID
  • NONE
  • OPEN
  • PARTOPEN
  • REQUEST
  • RESPOND
  • TIME_WAIT
  • sctp传输层协议(protocol)
  • CLOSED
  • COOKIE_ECHOED
  • COOKIE_WAIT
  • ESTABLISHED
  • NONE
  • SHUTDOWN_ACK_SENT
  • SHUTDOWN_RECD
  • SHUTDOWN_SENT
  • tcp传输层协议(protocol)
  • CLOSE
  • CLOSE_WAIT
  • ESTABLISHED
  • FIN_WAIT
  • LAST_ACK
  • NONE
  • SYN_RECV
  • SYN_SENT
  • SYN_SENT2
  • TIME_WAIT
  • 关于python -/proc/net/ip_conntrack和/proc/net/nf_conntrack的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16034698/

    43 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com