如何在 Windows 上安装 Net-SNMP???(没有视觉工作室)

Ste*_*eve 4 installation windows-7 snmp

我从 sourceforge 下载了文件并用 7-zip 解压。当我打开文件夹时,没有“install.exe”或类似的东西。信不信由你,我在网上找不到这方面的教程。我进入 win32 文件夹并运行 build.pl 但它给了我这条消息

请先运行 VCVARS32.BAT 来设置 Visual Studio 构建环境。

没有名为 vcvars32.bat 的文件,我只有 Visual Studio 2005 远程调试器。我打开一个命令提示符并在 win32 文件夹中运行 install-net-snmp.bat ,它似乎成功了,但它没有显示在我安装的控制面板中的程序中。

基本上我的问题是...如何在 Windows 7 上启动并运行 net-snmp?

谢谢。

编辑:我想使用 Net-SNMP 的原因是因为我需要使用 SNMPv3 而 Windows 代理不支持它。

小智 6

听起来您下载了源代码,但您真正想要的是 Win32 二进制文件。

5.5 版是项目开发人员预编译的 Windows x86 和 x64 二进制文件的最后一个版本。 http://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/5.5-binaries/

但即使您在 Windows 上安装 5.5 二进制文件,我认为它也不会显示在控制面板或开始菜单中。它不会有一个窗口,您可以打开并单击其中的内容。


小智 5

是的,我真的不知道为什么 Net-SNMP 不使用它们的代码分发预构建的二进制文件。这很奇怪。

无论如何,我最近为 Windows 64 位构建了 5.7.3(完全支持 SSL、IPv6 和 SNMP 扩展 DLL)。您可以在此处下载二进制文件:http : //www.mediafire.com/download/5b6xs5u3lajl3s2/net-snmp-windows-x64-5.7.3.7z

因为我是用 Visual Studio 2015 编译的,所以你还必须从这里安装 Visual C++ Redistributable for Visual Studio 2015:https : //www.microsoft.com/en-us/download/details.aspx?id=48145

将存档解压缩到 C:\Program Files\Net-SNMP。您应该能够运行 bin\snmpd.exe 文件来启动代理。编辑 etc\snmp\snmpd.conf(或运行 bin\snmpconf)来配置代理。你可以运行:

snmpd.exe -register <add arguments to snmp.exe here>
Run Code Online (Sandbox Code Playgroud)

将代理安装为 Windows 服务。请记住为 snmpd.exe 可执行文件添加一个例外到您的 Windows 防火墙。这就是您为 Windows x64 安装 Net-SNMP 的方式。

我还将为您提供我用来编译二进制文件的确切步骤,因此至少可以在 Internet 上的某处简明地记录下来。有关如何执行此操作的官方文档非常冗长、错误且过时。

先决条件:Active Perl x64,Visual Studio Community Edition(我使用的是 2015)。请注意,您使用的 Visual Studio 版本会影响编译说明中使用的以下路径,因此如果您使用的是 2015 版以外的其他版本,请相应地修改以下路径。

首先,为 Windows x64 编译 OpenSSL。解压源代码,并在同一目录中:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
perl Configure VC-WIN64A --prefix=C:\OpenSSL-Win64
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
move C:\OpenSSL-Win64\lib\libeay32.lib C:\OpenSSL-Win64\lib\libeay32MD.lib
Run Code Online (Sandbox Code Playgroud)

最后一步将 OpenSSL 静态库重命名为 Net-SNMP 期望的名称。

现在,编译 Net-SNMP。解压源码,在win32目录下:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
set Platform=x64
set TARGET_CPU=x64
set INCLUDE=%INCLUDE%;C:\OpenSSL-Win64\include
set LIB=%LIB%;C:\OpenSSL-Win64\lib
perl Configure --with-sdk --with-winextdll --with-ssl --with-ipv6 --config=release --linktype=static --prefix="c:/Program Files/Net-SNMP"
manual step: edit net-snmp\net-snmp-config.h, comment out #define snprintf (this is fixed in their git repository)
nmake clean
nmake
nmake install
Run Code Online (Sandbox Code Playgroud)

一个你已经安装了 Net-SNMP,你可以卸载和删除其他一切(Active Perl、Visual Studio、OpenSSL 等),Net-SNMP 仍然可以工作。显然,请确保安装了 VC++ 可再发行组件。

我希望这可以帮助那里的人。