Nmap/OldWindowsReleases

Nmap/Old Windows Releases

在安义等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站设计,营销型网站建设,外贸营销网站建设,安义网站建设费用合理。

While Nmap supports all modern versions of Windows, it no longer officially supports some which are so old that even Microsoft has ceased all support for them. This includes Windows NT, Windows 2000, and Windows XP.

We would highly recommend upgrading any Windows systems that old for security purposes if nothing else.  But if you must run Nmap on such a system, the easiest option is to use use an older Nmap release.  You can find these in the Nmap dist directory (or older still versions in dist-old.  The latest version reported to work on Windows XP SP2/SP3 is Nmap 6.47.  For older versions of Windows such as Windows 2K or XP without Service Pack 2, we recommend Nmap 5.35DC1 or older.

When using Nmap on Windows 2000 (either an old version as described above, or a newer version as described later on this page), a couple dependencies from Microsoft may need to be installed first.   Those are the Windows Installer 3.1 (v2) and the Security Update for Windows 2000 (KB835732).  After installing these, follow the general instructions in the following two sections to install Nmap.

Even current versions of Nmap may be usable with Windows 2000 or XP if compiled the right way.  First familiarize yourself with Nmap's normal Windows compilation instructions.  Then follow these instructions first reported by David Millis:

Here's exactly what I did to get static 2010-built executables that work under earlier Windows versions. I've hardly ever touched VC++, so pardon my repeated static-setting and rebuild lines at the end, if there's an abridged equivalent. :)

  1. Open nmap-5.51/mswin32/nmap.sln

  2. Solution-Configuration Manager: Active Config = Release

  3. ncat Project-Build Customizations...: masm = true (do before adding .asm's)

  4. ncat Project-Add-New Item (C++): pointer.asm

.model flat

.data
__imp__EncodePointer () 4 dd dummy
__imp__DecodePointer () 4 dd dummy

EXTERNDEF __imp__EncodePointer () 4 : DWORD
EXTERNDEF __imp__DecodePointer () 4 : DWORD

.code
dummy proc
mov eax, [esp+4]
ret 4
dummy endp 

end
  1. ncat Project-Properties-Linker-System: Minimum Req Version = 5.0

  2. ncat Project-Properties-C/C++-Code Generation: Runtime Library = Multi-Threaded (non-dll)

  3. nbase Project-Properties-C/C++-Code Generation: Runtime Library = Multi-Threaded (non-dll)

  4. nsock Project-Properties-C/C++-Code Generation: Runtime Library = Multi-Threaded (non-dll)

  5. nbase Project-Project Only-Rebuild

  6. nsock Project-Project Only-Rebuild

  7. ncat Project-Project Only-Rebuild

nmap and nping worked the same way. Libs get MT. Executables get the MinReq and Asm as well.

The TedWVC blog has a useful guide on Win2K compatability when compiling with Visual C++ 2010.


网页名称:Nmap/OldWindowsReleases
网站地址:http://myzitong.com/article/pepeep.html