首页 > 编程知识 正文

调用函数,libnids

时间:2023-05-04 14:13:06 阅读:191126 作者:4285

看了好几天,做个笔记理一下思路

先贴一张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;} 剩余的三个暂时不讨论,之后再完善

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。