在mac上编译iptables的问题

时间:2011-10-29 19:56:26

标签: macos iptables libpcap snort

我正在尝试在我的mac上安装snort并在编译时,它显示了很多关于它需要的其他库的错误 - 比如libnet,libpcre,iptables等。 我已经成功编译了libnet,libpcre。但是当我下载iptables时,我收到了很多编译错误,如:

在../include/xtables.h:17中包含的文件中,                  来自libxt_AUDIT.c:10: ../include/linux/types.h:27:错误:在' le16'之前预期'=',',',';','asm'或'属性' ../include/linux/types.h:28:错误:预期'=',',',';','asm'或'_ 属性 '在' be16'之前 ../include/linux/types.h:29:错误:预期'=',',',';','asm'或' _attribute '在' le32'之前 ../include/linux/types.h:30:错误:预期'=',',',';','asm'或'_ 属性 '在' _be32'之前

我该如何解决?我需要kernel-headers包还是什么?或者这应该只在Linux上完成,我是否浪费时间让它在Mac上运行?

1 个答案:

答案 0 :(得分:1)

根据the Snort requirements page,Snort需要libpcap(作为Mac OS X的标准部分),PCRE(在Mac OS X上构建和安装),Libdnet(the home page for which声称它支持Mac OS X),Barnyard2(the home page for which暗示它支持Mac OS X,提及Mac OS X Server的plist文件)和DAQ(它是Snort的一部分;不管它是否支持OS X)。

它没有提到iptables作为要求。这并不奇怪,因为iptables是一种特定于Linux的机制,而Snort不是特定于Linux的程序。

似乎有一些可以在Linux上使用iptables的Snort扩展。还有其他类似于iptables的机制,例如ipfilter,ipfw和PF。在Mac OS X Lion之前,Mac OS X使用了ipfw;在Lion中,它使用PF。如果您尝试使用的机制除了使用iptables之外还可以使用ipfw或PF,则可以在Mac OS X上执行任何操作。