Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516089
  • 博文数量: 118
  • 博客积分: 10028
  • 博客等级: 上将
  • 技术积分: 1820
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-07 18:46
文章分类

全部博文(118)

文章存档

2009年(12)

2008年(106)

我的朋友

分类:

2008-08-23 23:38:31



     不知道是几个月前就打算要写一个简易的NIDS了,结果到现在算是正式开始。IDS,安全领域对它即爱又恨,因为暂时还没有哪个东西能替代IDS(IPS也暂时不能),但是IDS的表现又确实不能让人能象用防火墙那样放心,就好像谈恋爱找到个性格不合的对象,但你又是那么喜欢他/她,这感觉真是痛苦阿万分...

     但是迫于IPS的资料少之又少,防火墙似乎又太成熟了,熟到高手遍地都是的地步,另外对IDS还是有那么点好感(不知道是不是被老师给教化的),而且之前多少也准备了不少IDS方面的知识,所以写IDS就成了必然中的理所当然。思想准备是在上学期刚放假的时候,那时决定七月到成都韦伯去学一个月的英语口语,所以定的目标是在八月份把IDS的捕获数据包模块(Capture Module)写好。事与愿违,因为网易的一个比赛,一直托到十多号,知道我们被淘汰(我倒觉得早淘汰是好事,呵呵..太坏了,对不起队友)。真正开始写代码是在昨天,哎,22号,开始进行的比较顺利,网上找了些资料,用协议族PF_PACKET而不用LIBPCAP,原因是移植性,这里的移植性不是平时所说的那种跨平台,这里的意思是说移植到其他linux内核的精简系统不需要安装LIBPCAP库,感觉还是个不错的选择,而且漏包率LIBPCAP要高些(看过一个报告,自己没测试过)。

      开始了,真的开始了...

      昨天(22号)实现了最最简单的抓包程序,能抓TCP UDP ICMP IGMP,其他都被设置为unknown,包括ARP都被残忍的变成了IP数据包了,哈哈~所以发现一个问题,一个unknown的包,怎么从IP149.4.192.168 ==> 1.1.0.0? 直到今天(23号),我同时开启mycap和wireshark来抓包,才发现,原来这是一个ARP包,所以就改程序呗...

      抓到了包,第一次是直接把以太网包头给去掉了,当成IP包来处理,这里需要修改一下,抓到ETH包,先分析包头的类型字段,0x0800为IP,0x0806为ARP,0x0835为RARP。

      为了使这次“开发”真的象一次开发,我从昨天开始建了个文档“开发日志”,记录每天的程序改进以及一些新学习到的技术,以便回顾的时候能有据所依,并在开发日志的最后写上下一步要增加的功能。另外,每天把前一天的程序保存到oldversion里面然后再对copy版进行修改,我觉得每天这样做是不是有点太频繁了?值得考虑...

       目前程序只有一百多行,一个源文件,下一步该是功能划分了...

       就写这么多吧,文采不是很好,开发日志每天更新,这样也给自己动力,有时候都有点崇拜自己,嘿嘿...写这篇文章,表明IDS的开发正式开始!争取三个月之内能顺利完成!加油!

        等开发完,我会把代码以及开发日志全部奉献出来~不过貌似比较多~
    
阅读(729) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-04-03 16:56:56

自己写的IDS么 了解Snort么 我现在学那玩意 觉得头疼