在Mac上编译iptables时出现问题

发布于 2024-12-12 11:17:38 字数 681 浏览 1 评论 0原文

我正在尝试在我的 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”之前

我该如何解决它们?我需要内核头包或其他东西吗?或者这一切都应该只在 Linux 上完成,我是在浪费时间让它在 Mac 上工作吗?

I am trying to install snort on my mac and while compiling it, it shows a lot of errors about other libraries which it needs - like libnet, libpcre, iptables etc.
I have compiled libnet , libpcre successfully. But when I downloaded iptables , I get a lot of compilation errors like :

In file included from ../include/xtables.h:17,
from libxt_AUDIT.c:10:
../include/linux/types.h:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘le16’
../include/linux/types.h:28: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘_attribute
’ before ‘be16’
../include/linux/types.h:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘_attribute
’ before ‘le32’
../include/linux/types.h:30: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘_attribute
’ before ‘_be32’

How do I resolve them ? DO I need kernel-headers package or something ? Or should this all be done only on Linux and am I wasting my time getting it to work on Mac ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仄言 2024-12-19 11:17:38

根据Snort 要求页面,Snort 需要 libpcap(它是 Mac OS X 的标准部分) )、PCRE(在 Mac OS X 上构建并安装)、Libdnet(主页声称支持苹果电脑操作系统X)、Barnyard2(主页通过提及支持 Mac OS X plist 文件(适用于 Mac OS X Server)和 DAQ(它是 Snort 的一部分;不知道它是否支持 OS X)。

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

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

According to the Snort requirements page, Snort requires libpcap (which comes as a standard part of Mac OS X), PCRE (which builds and installs on Mac OS X), Libdnet (the home page for which claims it supports Mac OS X), Barnyard2 (the home page for which implies it supports Mac OS X by mentioning a plist file for Mac OS X Server), and DAQ (which is part of Snort; dunno whether it supports OS X or not).

It doesn't mention iptables as a requirement. This is not surprising, as iptables is a Linux-specific mechanism, and Snort is not a Linux-specific program.

There appear to be some extensions to Snort that can use iptables on Linux. There are other mechanisms similar to iptables, such as ipfilter, ipfw, and PF. Prior to Mac OS X Lion, Mac OS X used ipfw; in Lion, it uses PF. It might be possible to do whatever you want to do on Mac OS X if the mechanism you're trying to use can use ipfw or PF in addition to using iptables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文