Libnids--函数调用顺序之nids_init()
来源:互联网 发布:redis 缓存数据库表 编辑:程序博客网 时间:2024/05/29 12:53
看了好几天,做个笔记理一下思路
先贴一张nids_init()的图:
- nids_exit():释放之前被占用的资源;
- open_live():打开网络接口
static int open_live(){ char *device; int promisc = 0; //初始化网络接口 if (nids_params.device == NULL) nids_params.device = pcap_lookupdev(nids_errbuf); if (nids_params.device == NULL) return 0; device = nids_params.device; if (!strcmp(device, "all")) device = "any"; else promisc = (nids_params.promisc != 0); //打开网络接口,返回desc,promisc表示网卡的混杂模式 if ((desc = pcap_open_live(device, 16384, promisc, nids_params.pcap_timeout, nids_errbuf)) == NULL) return 0; //下面的代码不看了 . . .}
- nids_syslog():nids_syslog()函数完成日志的写入
- init_procs():这个函数比较重要,该函数需要展开讨论
static void init_procs(){ //ip_frag_procs是处理ip_fragment的回调函数队列 ip_frag_procs = mknew(struct proc_node); ip_frag_procs->item = gen_ip_frag_proc; ip_frag_procs->next = 0; //ip_frag_procs是处理ip的回调函数队列 ip_procs = mknew(struct proc_node); ip_procs->item = gen_ip_proc; ip_procs->next = 0; tcp_procs = 0; udp_procs = 0;}
- 剩余的三个暂时不讨论,之后再完善
0 0
- Libnids--函数调用顺序之nids_init()
- Libnids--函数调用顺序之nids_run()
- 关于libnids中的函数调用
- libnids运行机制 函数调用流程
- libnids运行机制 函数调用流程
- libnids 库调用出错
- 暑期C++02之构造函数之调用顺序方法
- 函数调用时入栈顺序
- EditUI函数调用顺序
- ListUI函数调用顺序
- js 函数调用顺序
- 构造函数调用顺序
- 构造函数调用顺序
- Unity3D函数调用顺序
- 构造函数调用顺序
- unity函数调用顺序
- unity函数调用顺序
- 构造函数调用顺序
- Android 跳转到系统联系人获取姓名和手机号
- Maven多模块项目
- md5加密
- Cookie 和 LocalStorage 比较
- Linux命令
- Libnids--函数调用顺序之nids_init()
- c++编译错误:invalid new-expression of abstract class type
- 【1】Groovy语言学习:groovy语言简介及基本语法
- CTF--2016XDCTF全国网络安全大赛之reverse2
- java项目中的文件上传
- hihocoder#1044 : 状态压缩·一(状压dp)
- 浅谈语义主题计算
- JDK1.8源码阅读系列之三:Vector
- GYM 100712 F.Travelling Salesman(最小生成树-Kruskal)