计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费个人入侵检测系统的实现(一)毕业论(5)

2013-06-27 01:18
导读:数据报传送服务。 IP各域的含义如下: 版本:当前IP协议的版本号,本论文采用的版本号为4; 首部长度:以32bit为单位的包头长度; 服务类型:规定对本数据
数据报传送服务。
 IP各域的含义如下:
 版本:当前IP协议的版本号,本论文采用的版本号为4;
 首部长度:以32bit为单位的包头长度;
 服务类型:规定对本数据报的处理方式,比如优先权等;
 总长:以Byte为单位的整个IP数据报长度;
 标识:信源主机赋予每个IP数据报的唯一标识符号,用于控制分片及其重组;
 标志和片偏移:同样用于控制分片及其重组;
 生存时间:设置本数据报的最大生存时间,以秒为单位;
 协议:表示创建本IP数据报数据区数据的高层协议的类型,如TCP,UDP等;
 头标校验和:用于保证头标数据的完整性;
 源IP地址和目的IP地址: 分别指发送本数据报的主机IP地址和接受本数据报的主机的IP地址;
 选项:用于控制和测试,是IP数据报中可选的部分,包含“源路径”、“路径记录”、“时间戳”等几种类型。
 TCP协议是网络中应用最为广泛的协议,许多的应用层协议都是在建立在TCP协议之上的。
 TCP协议头部信息如下:
 源端口:发送端TCP端口号;
 目的端口:接收端TCP端口号;
 序号:指出段中数据在发送端数据流中的位置;
 确认号:指出本机希望下一个接收的字节的序号;
 头标长度:以32bit为单位的段头标长度,针对变长的“选项”域设计的;
 码位:指出段的目的与内容,不同的各码位置位有不同的含义;
 窗口:用于通告接收端接收缓冲区的大小;
 校验和:这是可选域,置0表示未选,全1表示校验和为伍;
 紧急指针:当码位的URG置位时,指出紧急指针的序号;
 UDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。UDP数据报各域的意义与TCP段中相应的域相同。只有校验和有些不同,除UDP数据报本身外,它还覆盖一个附加的“伪头标”。这个伪头标来自于IP报头,包括:源IP地址、信宿IP地址、协议类型、UDP长度及填充域。

内容来自www.nseac.com


 数据分析模块
 本系统采用异常检测量化分析方法,把检测规则和属性以数值形式表示。在检测中,采用计数方法来描述用户和系统行为某种属性,这些计数值只能在一定范围内变化。例如:系统允许有限的不成功注册次数、一种特定类型的网络连接数、企图访问文件的次数、访问文件或目录次数和访问网络系统次数。这个数值检测以一个相对固定的时间间隔(例如1小时)来度量用户的行为。在本系统中,分析器对解析的数据包计算每一个包的异常值,一旦发现异常值越限,则认为发生了异常攻击,就将该包信息存入数据库中。异常值由用户的行为的历史情况来决定。基本思想是,一般情况下,同一个用户在一定时间内连接本机的端口数较少,如果这个连接数突然增大,这个地址的异常值就增高。应当说,这并不是网络人侵的严格定义,它只是反映出被检测的数据包的“异常”程度。例如因网络问题而使来自同一个IP地址的数据突然增多时,这种检测方法可能会认为对方有异常行为。
 分析结果记录
 用数据库记录异常数据包信息,用于以后的分析与检查。
 报警处理模块
 将数据库中的信息及时响应,确定入侵的类型并进行报警。

个人入侵检测系统的实现
 系统的总体结构
 PIDS总体设计如图5:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 图5 PIDS总体设计
 
 系统捕获网络中的数据包,解码IP、TCP、UDP的头部各字段的信息,然后对解码后的数据进行分析统计,并对其做出判断。
 系统将入侵信息记录入数据库,并通过告警窗口显示。

(科教范文网 lw.AsEac.com编辑整理)

 数据包捕获模块实现
 PIDS的数据包捕获是通过调用Winpcap中的动态库函数实现的。使用pcap_findalldevs函数获取网络设备链表。获取失败终止程序并打印出错误报告,成功就打印出所有网络设备信息以供选择。在选择好进入的网络设备后,对该网络设备进行相应的配置,然后使用pcap_loop函数捕获数据包。
 首先获得网卡信息:
  /* 返回网络设备的链表,以供选择 */
  if(pcap_findalldevs(&alldevs, errbuf) == -1)
  {
   fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
   exit(1);
  }
  /* 选择列表 */
  for(d=alldevs; d; d=d->next)
  {
   printf("%d. %s\n", ++i, d->name);
   if (d->description)
    printf(" (%s)\n", d->description);
   else
    printf(" (No description available)\n");
  }
  if(i==0)
  {
   printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
   return -1;
  }
   printf("Enter the interface number (1-%d):",i);
  scanf("%d", &inum);
 接下来根据所选择的数据进入该网卡:
  for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
 对选择的网卡进行
上一篇:免费手机吞吃蛇游戏的设计与开发(一)毕 下一篇:没有了