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 件のコメント:
コメントを投稿