2007年2月28日水曜日

IPS_ASSUREDって?

TCPの場合

struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp4 =
{
....
.packet = tcp_packet,

struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp6 =
{
....
.packet = tcp_packet,
net/netfilter/nf_conntrack_proto_tcp.c::tcp_packet()にて

  • IPS_SEEN_REPLY が立っていて

  • IPS_ASSURED が立っていなくて

  • old_state が TCP_CONNTRACK_SYN_RECV か TCP_CONNTRACK_ESTABLISHED で new_state が TCP_CONNTRACK_ESTABLISHED

の場合 conntrack->status に IPS_ASSURED を立てる...とゆーことは IPS_SEEN_REPLY が前提。nf_conntrack_proto_tcp.c の頭の方に TCP の conntrack での状態遷移あり。機会があれば絵にしたいなぁ。

0 件のコメント: