Suricata 在 Windows 中编译时找不到 pcap.h 文件

Suricata unable to find pcap.h file while compiling in windows

提问人:Prateek 提问时间:2/27/2023 更新时间:3/6/2023 访问量:122

问:

suricata windows 编译文档:https://redmine.openinfosecfoundation.org/attachments/download/1175/SuricataWinInstallationGuide_v1.4.3.pdf 1

我已经安装了文档中提到的所有依赖项。克隆了文件。

要安装 libpcap,我按照以下步骤操作:

安装了 winpcap 安装程序:WinPcap ·下载 下载了文档中提到的开发包:WinPcap ·开发人员资源 已将开发包中的所有标头和包含文件复制到文档中提到的位置。 当我运行以下命令时,出现错误:“configure: error: pcap.h not found”:

./configure --enable-luajit --enable-pie --enable-geoip --disable-gccmarch-native --with-libnss-libraries=/usr/lib --with-libnss-includes=/usr/include/nss/ --with-libnspr-libraries=/usr/lib --with-libnspr-includes=/usr/include/nspr

以下是相同的附件:

在此处输入图像描述

如何解决这个问题?

Windows 苏里卡塔

评论

0赞 user16139739 2/28/2023
这是在 Windows 上,但您正在运行 UN*X 命令行。您使用的是 Cygwin、MSYS2、适用于 Linux 的 Windows 子系统还是其他一些 UN*X 环境?
0赞 Prateek 3/1/2023
是的。。我正在使用 Cygwin @user16139739

答:

0赞 user16139739 3/2/2023 #1

有(至少)两种不同类型的“来自 UN*X 的 Windows 库”:

  1. 打算用于本机 Windows 应用程序的库(无论是为 Windows 编写的还是从 UN*X 移植的,不带 Cygwin,以用作本机 Windows 应用程序);
  2. 来自 Cygwin 的库,或使用 Cygwin 移植到 Windows 的库,旨在用于使用 Cygwin 从 UN*X 移植程序。

WinPcap 和 Npcap 都属于第一类,这使得在 Cygwin 中使用它们变得更加复杂。

如果 Cygwin 有一个 libpcap 包就好了。吸吮软件包将 1) 不支持数据包捕获或 2) 要求安装 WinPcap 或 Npcap。第一种类型的包可能不会复杂而无法构建;第二种类型可能很棘手,因为 libpcap 中使用 WinPcap 或 Npcap 驱动程序和数据包库的代码是在假设代码将在 Windows 上使用的。并调用 Windows API(例如,将 Windows 错误代码转换为错误消息字符串)。

但据我所知,没有这样的套餐。

这篇 2021 年的文章建议如何设置 WinPcap 或 Npcap 以使其可在 Cygwin 中使用。我没有尝试过(我没有在我的主要 Windows 虚拟机上安装 ygwin),所以我不能说它的效果如何。

0赞 Jufajardini 3/6/2023 #2

我建议您尝试在 Suricata 页面中找到的 Windows msi 安装程序:https://suricata.io/download/

如果这不起作用,如果您能在项目问题跟踪器中报告,或者至少在 suricata 论坛中联系,我们将非常受欢迎,这样我们就可以找出问题所在。

如果由于某种原因您不想或不能使用安装程序,我会尝试以下步骤,以防您没有: https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Windows

该指南的更新时间比您分享的指南要晚。另外,您关注的 pdf 包含指向非官方 Suricata 存储库的链接,并显示了一个相当旧的版本(当前版本为 Suri 6.0.x)。