This file details the installation, compilation, and limitations of
the Nmap Security Scanner for the Windows platform.  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 :).

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 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 three registry DWORD values:
   [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]
     "StrictTimeWaitSeqCheck" with a value of 1 (so TcpTimedWaitDelay is checked)

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 3.1-beta4 or later.
   That version is critical as Nmap will crash if you have anything
   older.  This is available at
   http://netgroup-serv.polito.it/winpcap/ .  Winpcap 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) Open Visual Studio and the Nmap Solution
   (nmap-VERSION/mswin32/nmap.sln )

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

4) Build Menu -> Build Solution

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).

*** 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 2569 2005-03-04 20:18:03Z fyodor $
