Snort源代码编译 _ 采坑之旅(for Windows VS2015)

本文介绍了在Windows7 SP1 x64上使用Visual Studio 2015 SP1编译Snort 2.9.12及其依赖DAQ 2.0.6的过程。编译过程中遇到的挑战包括解决VS2015的兼容性问题、头文件冲突、预处理宏冲突等。通过修改公共头文件、宏定义和添加特定库解决了这些问题。
摘要由CSDN通过智能技术生成

    系统环境:Windows7 sp1 x64
    编译环境:VS2015 SP1
    Snort版本:2.9.12
    daq版本:2.0.6
    Snort官网:https://www.snort.org/downloads#snort-downloads


背景

    最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《snort源码分析》里面的资料,然后对着源码瞅了下,发现从snort2.9开始,snort应该是重构过了一轮,导致网上的资料都是偏老的,前人的一些源码分析都是基于2.9之前的版本的。我们的目标是先把源码在Windows平台上面编译通过,能调试!


注意事项

    0、开始之前……
    1、大家读源码的时候,如果发现网上的分析资料有些出入,应该就是重构导致的,最大的重构就是daq被当成一个静态lib剥离出来了,这块下层跟wibpcap/libpcap交互,上层跟snort交互的一个中间层的,之前这块的逻辑是跟snort本身糅合在一起的。
    2、Snort的源码大量基于另外的第三方源码,需要安装cygwin(主要是头文件依赖和bison.exe等工具依赖)。cygwin固定安装到C:\cygwin,并且手动把bison、flex、sed这三个开源库安装上(为啥装这个三个开源库也是参考网上了说法,实际使用中,目前只看到使用了bison),另外就是安装cygwin的时候如果在下载阶段有问题,可以使用163的镜像http://mirrors.163.com/.help/cygwin.html
    3、网上流传最多的就是独孤九贱的源码分析,但是一般只有7章,我这里有个完整的版本(https://download.csdn.net/download/magictong/10859695),可以参考下,不过这个源码分析是基于2.2版本的。


编译采坑之旅

    注意:
    a、50%是解决与VS2015的兼容性问题
    b、有些比较明显的问题,就不提了,譬如netinet/in

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值