Windows-7

如何在 Windows 上安裝 Net-SNMP ???(沒有視覺工作室)

  • August 19, 2018

我從 sourceforge 下載了文件並用 7-zip 解壓縮。當我打開文件夾時,沒有“install.exe”或類似的東西。信不信由你,我在網上找不到這方面的教程。我進入 win32 文件夾並執行 build.pl 但它給了我這條消息

請先執行 VCVARS32.BAT 以設置 Visual Studio 建構環境。

沒有名為 vcvars32.bat 的文件,我只有 Visual Studio 2005 遠端調試器。我打開命令提示符並在 win32 文件夾中執行 install-net-snmp.bat,它似乎成功,但它沒有顯示在我在控制面板中安裝的程序中。

基本上我的問題是……如何讓 net-snmp 在 Windows 7 上執行?

謝謝。

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

聽起來您下載了原始碼,但您真正想要的是 Win32 二進製文件。

5.5 版是項目開發人員預編譯 Windows x86 和 x64 二進製文件的最後一個版本。 http://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/5.5-binaries/

但即使您在 Windows 上安裝 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 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 服務。請記住為您的 Windows 防火牆添加 snmpd.exe 執行檔的例外。這就是您為 Windows x64 安裝 Net-SNMP 的方式。

我還將為您提供我用來編譯二進製文件的確切步驟,因此至少可以在 Internet 上的某個地方簡明扼要地記錄這一點。有關如何執行此操作的官方文件非常冗長、錯誤和過時。

先決條件:Active 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++ 可再發行組件。

我希望這可以幫助那裡的人。

引用自:https://serverfault.com/questions/283922