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方式。
浙公网安备 33010602011771号