新建
上传
首页
助手
最?/div>
资料?/div>
工具

4.2. conntrack

记录

 

我们先来看看怎样阅读

/proc/net/ip_conntrack

里的

conntrack

记录。这些记

 

录表示的是当前被跟踪的连接。如果安装了

ip_conntrack

模块?/p>

cat

 

/proc/net/ip_conntrack 

的显示类似:

  

tcp      6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \ 

     dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \ 

     dport=32775 use=2 

      

conntrack

模块维护的所有信息都包含在这个例子中了,

通过它们就可以知道某

个特定的连接处于什么状

 

态。首先显示的是协议,这里?/p>

tcp

,接着是十进制

?/p>

6

(译者注?/p>

tcp

的协议类型代码是

6

)。之后的

117

?/p>

 

这条

conntrack

记录

的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,这个

值就?/p>

 

被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状

态?/p>

上面的例子说明这个包处在状?/p>

 SYN_SENT

?/p>

这个值是

iptables

显示的,

?/p>

便我们好理解,而内部用的值稍有不同?/p>

SYN_SENT

说明我们正在?/p>

 

察的这个?/p>

接只在一个方向发送了一

TCP 

SYN

包。再下面是源地址、目的地址、源端口和目

的端口。其

 

中有个特殊的?/p>

UNREPLIED

,说明这个连接还没有收到任何回应?/p>

最后,是希望接收的应答包的信息,他?/p>

 

的地址和端口和前面是相反的?/p>

 

连接跟踪记录的信息依?/p>

IP

所包含的协议不同而不同,所有相应的值都是在?/p>

文件

linux/include/netfilter-ipv4/ip_conntrack*.h

中定义的?/p>

IP

?/p>

TCP

?/p>

UDP

?/p>

ICMP

?/p>

 

议的缺省值是?/p>

linux/include/netfilter-ipv4/ip_conntrack.h

里定

义的。具

 

体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都

只在

conntrack

内部使用。随着状态的

 

改变,生存时间也会改变?/p>

 

最?/p>

patch-o-matic

里有一个新的补丁,可以把上面提到的超时时间?/p>

作为系统变量,这样我们就

 

能够在系统空闲时改变它们的值。以后,?/p>

们就不必为了改变这些值而重编译内核了?/p>

 

这些可通过

/proc/sys/net/ipv4/netfilter

下的一些特殊的系统调用

 

来改变?/p>

仔细看看

/proc/sys/net/ipv4/netfilter/ip_ct_*

里的变量吧?/p>

 

当一个连接在两个方向上都有传输时?/p>

conntrack

记录就删?/p>

[UNREPLIED]

标志?

然后重置?/p>

在末尾有

 [ASSURED]

的记录说明两个方向已没有流量?/p>

这样的记录是

确定的,

在连接跟踪表满时?/p>

是不会被删除的,

 

没有

[ASSURED]

的记录就要被?/p>

除。连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的

ip- 

sysctl

函数设置。默认值取决于你的内存大小?/p>

128MB

可以包含

8192

条目录,

256MB

?/p>

16376

条?/p>

你也可以?/p>

 /proc/sys/net/ipv4/ip_conntrack_max

里查看?/p>

设置?/p>

 

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

4.2. conntrack

记录

 

我们先来看看怎样阅读

/proc/net/ip_conntrack

里的

conntrack

记录。这些记

 

录表示的是当前被跟踪的连接。如果安装了

ip_conntrack

模块?/p>

cat

 

/proc/net/ip_conntrack 

的显示类似:

  

tcp      6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \ 

     dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \ 

     dport=32775 use=2 

      

conntrack

模块维护的所有信息都包含在这个例子中了,

通过它们就可以知道某

个特定的连接处于什么状

 

态。首先显示的是协议,这里?/p>

tcp

,接着是十进制

?/p>

6

(译者注?/p>

tcp

的协议类型代码是

6

)。之后的

117

?/p>

 

这条

conntrack

记录

的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,这个

值就?/p>

 

被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状

态?/p>

上面的例子说明这个包处在状?/p>

 SYN_SENT

?/p>

这个值是

iptables

显示的,

?/p>

便我们好理解,而内部用的值稍有不同?/p>

SYN_SENT

说明我们正在?/p>

 

察的这个?/p>

接只在一个方向发送了一

TCP 

SYN

包。再下面是源地址、目的地址、源端口和目

的端口。其

 

中有个特殊的?/p>

UNREPLIED

,说明这个连接还没有收到任何回应?/p>

最后,是希望接收的应答包的信息,他?/p>

 

的地址和端口和前面是相反的?/p>

 

连接跟踪记录的信息依?/p>

IP

所包含的协议不同而不同,所有相应的值都是在?/p>

文件

linux/include/netfilter-ipv4/ip_conntrack*.h

中定义的?/p>

IP

?/p>

TCP

?/p>

UDP

?/p>

ICMP

?/p>

 

议的缺省值是?/p>

linux/include/netfilter-ipv4/ip_conntrack.h

里定

义的。具

 

体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都

只在

conntrack

内部使用。随着状态的

 

改变,生存时间也会改变?/p>

 

最?/p>

patch-o-matic

里有一个新的补丁,可以把上面提到的超时时间?/p>

作为系统变量,这样我们就

 

能够在系统空闲时改变它们的值。以后,?/p>

们就不必为了改变这些值而重编译内核了?/p>

 

这些可通过

/proc/sys/net/ipv4/netfilter

下的一些特殊的系统调用

 

来改变?/p>

仔细看看

/proc/sys/net/ipv4/netfilter/ip_ct_*

里的变量吧?/p>

 

当一个连接在两个方向上都有传输时?/p>

conntrack

记录就删?/p>

[UNREPLIED]

标志?

然后重置?/p>

在末尾有

 [ASSURED]

的记录说明两个方向已没有流量?/p>

这样的记录是

确定的,

在连接跟踪表满时?/p>

是不会被删除的,

 

没有

[ASSURED]

的记录就要被?/p>

除。连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的

ip- 

sysctl

函数设置。默认值取决于你的内存大小?/p>

128MB

可以包含

8192

条目录,

256MB

?/p>

16376

条?/p>

你也可以?/p>

 /proc/sys/net/ipv4/ip_conntrack_max

里查看?/p>

设置?/p>

 

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

4.2. conntrack

记录

 

我们先来看看怎样阅读

/proc/net/ip_conntrack

里的

conntrack

记录。这些记

 

录表示的是当前被跟踪的连接。如果安装了

ip_conntrack

模块?/p>

cat

 

/proc/net/ip_conntrack 

的显示类似:

  

tcp      6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \ 

     dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \ 

     dport=32775 use=2 

      

conntrack

模块维护的所有信息都包含在这个例子中了,

通过它们就可以知道某

个特定的连接处于什么状

 

态。首先显示的是协议,这里?/p>

tcp

,接着是十进制

?/p>

6

(译者注?/p>

tcp

的协议类型代码是

6

)。之后的

117

?/p>

 

这条

conntrack

记录

的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,这个

值就?/p>

 

被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状

态?/p>

上面的例子说明这个包处在状?/p>

 SYN_SENT

?/p>

这个值是

iptables

显示的,

?/p>

便我们好理解,而内部用的值稍有不同?/p>

SYN_SENT

说明我们正在?/p>

 

察的这个?/p>

接只在一个方向发送了一

TCP 

SYN

包。再下面是源地址、目的地址、源端口和目

的端口。其

 

中有个特殊的?/p>

UNREPLIED

,说明这个连接还没有收到任何回应?/p>

最后,是希望接收的应答包的信息,他?/p>

 

的地址和端口和前面是相反的?/p>

 

连接跟踪记录的信息依?/p>

IP

所包含的协议不同而不同,所有相应的值都是在?/p>

文件

linux/include/netfilter-ipv4/ip_conntrack*.h

中定义的?/p>

IP

?/p>

TCP

?/p>

UDP

?/p>

ICMP

?/p>

 

议的缺省值是?/p>

linux/include/netfilter-ipv4/ip_conntrack.h

里定

义的。具

 

体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都

只在

conntrack

内部使用。随着状态的

 

改变,生存时间也会改变?/p>

 

最?/p>

patch-o-matic

里有一个新的补丁,可以把上面提到的超时时间?/p>

作为系统变量,这样我们就

 

能够在系统空闲时改变它们的值。以后,?/p>

们就不必为了改变这些值而重编译内核了?/p>

 

这些可通过

/proc/sys/net/ipv4/netfilter

下的一些特殊的系统调用

 

来改变?/p>

仔细看看

/proc/sys/net/ipv4/netfilter/ip_ct_*

里的变量吧?/p>

 

当一个连接在两个方向上都有传输时?/p>

conntrack

记录就删?/p>

[UNREPLIED]

标志?

然后重置?/p>

在末尾有

 [ASSURED]

的记录说明两个方向已没有流量?/p>

这样的记录是

确定的,

在连接跟踪表满时?/p>

是不会被删除的,

 

没有

[ASSURED]

的记录就要被?/p>

除。连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的

ip- 

sysctl

函数设置。默认值取决于你的内存大小?/p>

128MB

可以包含

8192

条目录,

256MB

?/p>

16376

条?/p>

你也可以?/p>

 /proc/sys/net/ipv4/ip_conntrack_max

里查看?/p>

设置?/p>

 

 

Ͼλ">
Ͼλ
Ŀ

conntrack连接跟踪分析 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

4.2. conntrack

记录

 

我们先来看看怎样阅读

/proc/net/ip_conntrack

里的

conntrack

记录。这些记

 

录表示的是当前被跟踪的连接。如果安装了

ip_conntrack

模块?/p>

cat

 

/proc/net/ip_conntrack 

的显示类似:

  

tcp      6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \ 

     dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \ 

     dport=32775 use=2 

      

conntrack

模块维护的所有信息都包含在这个例子中了,

通过它们就可以知道某

个特定的连接处于什么状

 

态。首先显示的是协议,这里?/p>

tcp

,接着是十进制

?/p>

6

(译者注?/p>

tcp

的协议类型代码是

6

)。之后的

117

?/p>

 

这条

conntrack

记录

的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,这个

值就?/p>

 

被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状

态?/p>

上面的例子说明这个包处在状?/p>

 SYN_SENT

?/p>

这个值是

iptables

显示的,

?/p>

便我们好理解,而内部用的值稍有不同?/p>

SYN_SENT

说明我们正在?/p>

 

察的这个?/p>

接只在一个方向发送了一

TCP 

SYN

包。再下面是源地址、目的地址、源端口和目

的端口。其

 

中有个特殊的?/p>

UNREPLIED

,说明这个连接还没有收到任何回应?/p>

最后,是希望接收的应答包的信息,他?/p>

 

的地址和端口和前面是相反的?/p>

 

连接跟踪记录的信息依?/p>

IP

所包含的协议不同而不同,所有相应的值都是在?/p>

文件

linux/include/netfilter-ipv4/ip_conntrack*.h

中定义的?/p>

IP

?/p>

TCP

?/p>

UDP

?/p>

ICMP

?/p>

 

议的缺省值是?/p>

linux/include/netfilter-ipv4/ip_conntrack.h

里定

义的。具

 

体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都

只在

conntrack

内部使用。随着状态的

 

改变,生存时间也会改变?/p>

 

最?/p>

patch-o-matic

里有一个新的补丁,可以把上面提到的超时时间?/p>

作为系统变量,这样我们就

 

能够在系统空闲时改变它们的值。以后,?/p>

们就不必为了改变这些值而重编译内核了?/p>

 

这些可通过

/proc/sys/net/ipv4/netfilter

下的一些特殊的系统调用

 

来改变?/p>

仔细看看

/proc/sys/net/ipv4/netfilter/ip_ct_*

里的变量吧?/p>

 

当一个连接在两个方向上都有传输时?/p>

conntrack

记录就删?/p>

[UNREPLIED]

标志?

然后重置?/p>

在末尾有

 [ASSURED]

的记录说明两个方向已没有流量?/p>

这样的记录是

确定的,

在连接跟踪表满时?/p>

是不会被删除的,

 

没有

[ASSURED]

的记录就要被?/p>

除。连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的

ip- 

sysctl

函数设置。默认值取决于你的内存大小?/p>

128MB

可以包含

8192

条目录,

256MB

?/p>

16376

条?/p>

你也可以?/p>

 /proc/sys/net/ipv4/ip_conntrack_max

里查看?/p>

设置?/p>

 

 



ļ׺.doc޸Ϊ.docĶ

  • úϼų()
  • 2015-2020й˲ҵչ״ǰо - ͼ
  • ʽ峵ҵ˵
  • ƱΪ
  • Աֵͼ룬 ˵
  • ṹѧϰ_ܹ_4
  • İ-,
  • Ŵ κϰ22
  • Ӳ¼Զ̼ط()Լ·
  • ԨԴʽЧ(԰)ʼ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)