网络协议分析

      

  这学期一直在做一个网络协议识别相关的项目,当然只是打打酱油之类的角色。对网络协议的识别有了自己的一点认识。正好也算是自己的一个阶段性总结。

        首先是网络协议识别的方式,目前比较常见的一是基于端口的,比如80端口就识别成是http。二是基于指纹比对,其实就是依据内容进行字符串比对,比如有post,get之类的就识别成http什么的。这两种方法是目前较常见的也比较容易实现的。但是这两种方法有很大的缺点,目前很多p2p软件,木马等端口不固定,而且对内容加密传输,这就造成前两种方法基本上就失效了,而skype就是其中典型的代表。

       于是一个新的概念出现了,网络协议的行为特征分析。注意,这里是行为特征,比如包的长度变化,方向变化,加密方法造成的内容特征等。它的优点是不再依赖于端口和内容比对,但缺点也很明显,准确度不能得到保障。而这一块的研究也是很大的热点,涉及到模型的建立,算法的设计等。

      另外值得一提的就是包的抓取方式,一种是目前比较常见的开源pcap库。另一种则是比较新的零拷贝抓包,这种方式通过修改内核,将网卡抓到的包的在内存中的物理地址传递到用户层,然后通过map函数将其映射到用户内存空间,然后进行相关计算。这样就少了一个copy_to_user的过程,大大提高了效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值