dec/rpc expect

opc conntrack 

netbios端口 445 ,139(smb)

opc 端口 153

opc服务的注册需要管理员权限

opc (DCE(distributed computing environment) /RPC )包格式:

       
version minor packet type packet flag
       
       
       
       
       
       

nf_netfilter_helper:     

             发现有匹配的helper 的ct会在ct上挂载 nf_conn_help  , nf_conn_help.helper = 发现的helper :  (详细见__nf_ct_try_assign_helper)

             在触发的helper->help 函数中再去创建expection, (因为help跟expect联系比较紧密,helper结构中也有一些expect的初始化值(nf_conntrack_expect_policy)) 

              nf_conn ct  : 上挂的是nf_conn_help 结构

                 {

                     struct  nf_conntrack_helper    helper ;   //匹配的helper

                     struct   nf_conntrack_help    help ;  // 存放临时信息的

                 }

   /* 
* 将helper 挂载到 nf_ct_helper_hash列表里
* 在init_conntrack -> nf_ct_find_expectation()
* 如果是正常连接,会查找 nf_ct_helper_hash 表找到相应的helper : __nf_ct_try_assign_helper
* 如果发现是expectation 会直接使用exp->helper 不再查找nf_ct_helper_hash表
*/
nf_conntrack_helper_register(nf_conntrack_heler *helper)

/*
将expect挂载到 nf_ct_expect_hash 列表里*/
nf_ct_expect_related(exp);
/*将引用计数减一, 为0释放 */
nf_ct_expect_put(exp);

 

           如果master ct 做了NAT , expection 也需要处理NAT 相关的工作 

            1: ip包的mangle 

            2: 提供exp->expectfn() ,在expect ct 被触发时调用 

                  应该是完成转源,转目的的准备 ,这个函数最后都要调用nf_nat_setup_info () ,  NAT table 里也是这样的处理方法。

                  有一个标准函数可供调用:  nf_nat_follow_master() , 意思是使用跟master一样的nat方式。 

 

posted @ 2018-04-28 11:36  stachal  阅读(665)  评论(0)    收藏  举报