Linux内核conntrack丢弃统计信息

问题描述

在Linux内核conntrack子系统源代码中,我看到很多统计信息,例如this

ret = resolve_normal_ct(net,tmpl,skb,dataoff,pf,protonum,l4proto);
if (ret < 0) {
    /* Too stressed to deal. */
    NF_CT_STAT_INC_ATOMIC(net,drop);
    ret = NF_DROP;
    goto out;
}

但是我真的不知道如何在Linux中(从用户模式)检查此统计信息。 F.e.我在哪里可以找到conntrack滴数? /proc/sys/net/netfilter/nf_conntrack*中没有类似的内容
抱歉,很明显。

解决方法

首先,您可以在诸如netstatssnstat之类的某些工具中查看静态信息。

然后,关于NF_CT_STAT_INC_ATOMIC计数下降的问题需要跟踪函数本身。我认为,自己做比较有趣,因为您对此感到好奇。

#define NF_CT_STAT_INC_ATOMIC(net,count) this_cpu_inc((net)->ct.stat->count)

从这里我们可以看到实际计数在ct.stat-> drop中。通过搜索此内容,您可以找到答案。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...