我从 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 代理不支持它。
答案1
听起来你下载了源代码,但你真正想要的是 Win32 二进制文件。
5.5 版本是项目开发人员预编译的 Windows x86 和 x64 二进制文件的最后一个版本。 http://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/5.5-binaries/
但即使你在 Windows 上安装了 5.5 二进制文件,我认为它也不会出现在控制面板或开始菜单中。它不会有一个你可以打开并单击的窗口。
答案2
是的,我真的不知道为什么 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 Studio 2015 的 Visual C++ Redistributable: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>
将代理安装为 Windows 服务。请记住为 snmpd.exe 可执行文件添加 Windows 防火墙例外。这就是为 Windows x64 安装 Net-SNMP 的方法。
我还将向您提供我编译二进制文件的具体步骤,这样至少可以在互联网上的某个地方简明扼要地记录下来。有关如何执行此操作的官方文档非常冗长、错误百出且过时。
先决条件:激活 Perl x64、Visual Studio 社区版(我使用的是 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
最后一步将 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
一旦安装了 Net-SNMP,您就可以卸载并删除其他所有程序(Active Perl、Visual Studio、OpenSSL 等),Net-SNMP 仍可正常工作。显然,请确保您安装了 VC++ 可再发行组件。
我希望这对某些人有帮助。
答案3
答案4
在 net-snmp.org wiki 上找到此链接 -
http://www.net-snmp.org/wiki/index.php/Using_the_command_line_and_nmake
看来要在 Windows 中构建,您需要几个非本机工具。您可以尝试一下。