
The Win32 version of Nmap is still in a BETA stage of development,
although it has improved dramatically.  If you find bugs, you are
strongly encouraged to report them to fyodor@insecure.org or
nmap-dev@insecure.org .  Patches are very welcome too :).  Building
and usage instructions are below. 

I would like to thank the following people for doing much of the Win32
porting work:

Andy Lutomirski ( Luto@mailandnews.com )
Ryan Permeh ( ryan@eEye.com ) from eEye Digital Security ( www.eeye.com )

Nmap only exists for Win32 because of their hard work.

*** Known Issues/Bugs ***

o You cannot scan yourself (localhost).  This is a Windows/WinPcap
   limitation which we haven't yet found a way to workaround.

o Nmap does not work under Windows ME .  This is a WinPcap
  limitation. [ Note -- I'm not sure this is still true ]

o RAS connections (eg PPP, SLIP, etc) are not supported except under
   Windows 2000/XP.  This is a WinPcap limitation on NT and it isn't
   supported (yet) on Win98.  Ethernet should work fine on all
   platforms.

o All interfaces (except localhost) should work under Windows 2000 as
   administrator.  If you have trouble under Win2K, try the
   --win_norawsock switch.

o TCP connect() scan can be agonizingly slow.  You may be able to
   improve this by applying the registry changes in the included
   nmap_performance.reg (in nmap-VERSION/ in the Win binary
   distribution, and nmap-VERSION/mswin32 in the source distro).
   Apply it by double-clicking on the file, or run the command
   "regedt32 nmap_performance.reg".  Or you can make the changes by
   hand - add the following two registry DWORD values to:
   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
     "MaxUserPort", with a large value like 65534 (0x0000fffe).  See MS KB Q196271.
     "TcpTimedWaitDelay" with the minimum value (0x0000001e). [See MS KB 149532]

o The NmapFE Nmap GUI frontend port is not yet stable enough to
  include with the binary distribution.

*** Using the Binary Distribution ***

There are a couple binary distributions of Windows Nmap.  One is
Winmap, which is packaged in an install-shield installation wizard and
includes a graphical GUI as well as command-line Nmap.  The other
distribution is the command-line zipfile, called
nmap-VERSION-win32.zip .  The .zip version is usually much more
up-to-date.  Here are the instructions for installing the zip
archive:

1) Make sure you have installed Winpcap Version 2.1-beta or later.  This
   is available at http://netgroup-serv.polito.it/winpcap/ .  It is
   very important that you use version 2.1-beta or later.  This is
   optional, but recommended, under Windows 2000.

2) Unzip the archive using Winzip or your favorite decompression
   utility -- a directory call nmap-VERSION will be extracted .

3) Consider applying the Nmap performance regisry changes discussed
   above (double click on nmap_performance.reg).

4) Open a command prompt (DOS) window and cd into the new nmap-VERSION
   directory.  Type "nmap -h" for usage information.  

*** Compiling the Nmap Source Distribution for Windows ***

Note that the only compiler I have tested (since converting from
MSVC++ 6) is Microsoft Visual Studio .Net 2003.  It may or may not
work with previous (or later) compilers.  I'll accept nonintrusive
patches that make it work with your compiler (without breaking
mine).

1) Decompress the archive ( nmap-VERSION.tgz ).  This is the same
   tarball that is used for UNIX installations.

2) Make sure your Visual C++ compiler recognizes the .cc extension as
   C++ files.  You might have to make the following registry
modifications (using regedt32 or whatever):

[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Text Editor\Tabs/Language Settings\C/C++] FileExtensions=cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2;cc;cp 
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Tools\32-bit C/C++ Compiler for 80x86] Input_Spec=*.c;*.cpp;*.cxx,*.cc,*.cp 
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Tools\<Component 0x3>] Input_Spec=*.c;*.cpp;*.cxx;*.cc;*.cp 

Note:  The numbers in the "S-1-5-21-*" keys above may vary.

3) Open Visual Studio and the Nmap Solution
   (nmap-VERSION/mswin32/nmap.sln )

4) Build Menu -> Configuration Manager -> set all to Release

5) Press [F7] to build nmap.exe .

5) The executable can be found in
   nmap-VERSION/mswin32/Release/nmap.exe .  Remember that you must
   have Winpcap Version2.1-beta or later installed to run it (see
   the Binary Distribution instructions above).  Note that you might
   have to manually copy nmap-service-probes from nmap-VERSION to
   nmap-VERSION/mswin32/Release , although I hope to fix that soon.

*** Compiling NmapFE Front-end for Windows **

[ Note -- this hasn't been tested lately and may not work.  Most
  people have been using NmapWin instead ]

1) Install the Windows versions of Glib, GDK, and GTK from
   http://www.gimp.org/win32/ .  Copy the DLLs somewhere that they can
   be found ( if you don't have a better place, try c:\winnt\system32
   ).  Also copy the include and .lib files to places where your
   compiler can find them ( add the dir to VC++ via Tools -> Options
   -> Directories ).

2) Use steps similar to the "compiling Nmap" list above to compile
   NmapFE.  The Workspace is in nmap-VERSION/nmapfe/nmapfe.dsw .

*** Final Worlds ***

As mentioned earlier, patches, suggestions, and improvements are more
than welcome!  Send them to nmap-dev@insecure.org or to me personally
( fyodor@insecure.org ).

$Id: README-WIN32,v 1.8 2003/09/16 06:04:55 fyodor Exp $
