libnids
daxiafengfa
这个作者很懒,什么都没留下…
展开
-
TCP重组基本原理
TCP流的存储使用二位链表的方式,横向的为同一个TCP会话,每一个节点为一个IP包;纵向的是一个接一个的TCP流,用于保存多个TCP会话。1.每到来一个tcp数据包(pkt),先将该数据包的源ip地址、目的ip地址、源端口号、目的端口号取出来在哈希表中查找有没有与它相匹配的链表(fp)存在,如果有,就把pkt数据包放入与它有相同socket对的fp链中,放入链表的时,我先查找pkt的顺序号在链转载 2015-01-11 16:55:38 · 511 阅读 · 0 评论 -
linux下libnids的安装
1、安装libpcap(略)2、安装libnet:源文件下载地址:http://sourceforge.net/projects/libnet-dev/files/解压:tar -zxvf libnet-1.1.6.tar.gzcd libnet-1.1.6./configuremakemake install安装完以后,修改一下动态库配置文件,在/etc/ld.s转载 2015-01-11 16:54:10 · 478 阅读 · 0 评论 -
linnids.h 详解
Nids.h详细注释#ifndef _NIDS_NIDS_H #define _NIDS_NIDS_H #define NIDS_MAJOR 1 /* 主版本号 */#define NIDS_MINOR 20 /* 次版本号 */#include enum { NIDS_WARN_IP = 1, /*表示IP 数据包异常转载 2015-01-11 16:49:34 · 325 阅读 · 0 评论 -
如何读代码
复习得郁闷了, 休息一下. 认真读过的大 project 代码不多, 主要是 argo 的 telnet/web 源代码, netbsd & freebsd kernel 源码部分, ACM FTP Search Engine 源码 (前面有分析报告) 等, 随手抓来看看抄抄的就多了. 一点体会一. 搞清楚分析源码的目的不 同的目的有不同的分析源码的方法, 要做某个 proje转载 2015-01-11 17:04:38 · 633 阅读 · 0 评论 -
基于libnids的TCP数据流的还原(多线程实现)
我们知道,libnids本身可以实现TCP数据流的重组,但是如果一个TCP流数据量比较大的时候,就会分成好多个TCP报文段,这些报文段在网络中的传播可能是乱序的,利用libnids可以帮助我们按顺序接收到这些报文段,即实现TCP报文段的重组。 但是我们如何把这些顺序的报文段重新还原成一个完整的数据文件,也是要考虑的一个问题,因为在很多时候,单个的报文段对我们的意义不大,我们需要一个完整的转载 2015-01-11 17:06:02 · 1865 阅读 · 0 评论 -
struct timeval结构体
struct timeval结构体在time.h中的定义为:struct timeval{__time_t tv_sec; /* Seconds. */__suseconds_t tv_usec; /* Microseconds. */};其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒数,即秒后面的零头。比转载 2015-01-11 17:08:27 · 312 阅读 · 0 评论 -
libnids中的API文档翻译
libnids-1.201.介绍2.IP分片3.TCP流重组4.一个应用示例 5.libnids基本的数据结构和函数6.Misc有用之处/////////先来一段关于TCP重组的,其他不管。3.TCP流重组为了接收TCP流中交换的数据,必须声明一个回调函数void tcp_callback(struct tcp_stream * ns,转载 2015-01-11 17:02:18 · 501 阅读 · 0 评论 -
libnids 分析笔记
一、当日工作(或学习)内容及进展情况(以条目式陈述,必要时配图说明)Libnids读书笔记:Libnids(Library Network Intusion Detection System)网络入侵检测开发包,基于libpcap和libnet开发,是仿照linux内核中的TCP/IP协议部分而实现的。 libnids主要功能包括捕获网络数据包、IP碎片重组、TCP数据流重组以及端转载 2015-01-11 16:52:27 · 517 阅读 · 0 评论 -
pcap_loop 和 callbac
对于最常用的 pcap_loop:pcap_loop原型是pcap_loop(pcap_t *p,int cnt,pcap_handler callback,u_char *user)其中第一个参数是winpcap的句柄,第二个是指定捕获的数据包个数,如果为-1则无限循环捕获。第四个参数user是留给用户使用的。第三个是回调函数其原型如下:pcap_callback(u_char*转载 2015-01-11 17:07:13 · 461 阅读 · 0 评论