1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-09 06:01:28 +00:00
Commit Graph

401 Commits

Author SHA1 Message Date
david
fac82a011b Only increment o.numhosts_scanned when we have truly finished scanning a
host, which means that it is either found down or else all
port/script/traceroute/etc. scanning is finished. In r12798 I made it be
updated as soon as DNS resolution happened, to make the status display
"X undergoing Ping Scan" accurate. However the main loop also uses this
variable to count how many addresses have been generated so it knows
when to stop scanning random addresses. If -iR was used, only the first
hostgroup out of all the random addresses would be fully scanned and
then the scan would end. This change fixes that and also makes the
output more like it was pre-r12798; for example, if you had done name
resolution on 1024 hosts with --max-hostgroup 8, and had found the 8th
up host at the 280th one pinged, the output was
Stats: 0:00:29 elapsed; 1016 hosts completed (8 up), 8 undergoing Connect Scan
and is now
Stats: 0:00:29 elapsed; 272 hosts completed (8 up), 8 undergoing Connect Scan
2009-05-04 22:59:35 +00:00
david
7a84920e63 Put some conditions like o.idlescan and o.bouncescan outside of the
loops that iterate over targets, not inside them. That prevents having
to iterate over every target doing nothing in the common case when those
scan types aren't used.
2009-05-01 20:51:52 +00:00
kris
318688acd5 updating ip_is_reserved(): 180/8 and 183/8 allocated 2009-04-29 19:20:42 +00:00
david
edde5c5686 Add a missing newline to the "Fetchfile" message. 2009-04-18 16:36:59 +00:00
fyodor
d0e21e1d03 Suggest that people send patches to nmap-dev rather than to me directly 2009-04-15 00:37:03 +00:00
bmenrigh
b38b5f6270 Changed a few error() calls to log_write(). Removed the (redundant)
"\n" from a few error() calls.  Changed a few f?printf() calls to
error() or log_write().

Most notably, I didn't change any of the --interactive printf()s or
the usage printf() call.

I think we should draw up some internal notes on when to use
LOG_STDOUT versus LOG_PLAIN versus all the other LOG_* options.
2009-04-07 23:10:51 +00:00
batrick
37bbb40520 Merge of nse-lua (nse-lua-merge) minus most enchancements that were
not directly related to the change from C++ to Lua for the NSE main
procedures.

The changes are discussed in the nse-lua thread here:
http://seclists.org/nmap-dev/2009/q1/0047.html
2009-04-05 06:01:27 +00:00
david
7872aafa5d Update the global o.numhosts_scanning variable within ultra_scan, so
that it is set properly for ping scan. Previously status reports during
ping scan always looked like

Stats: 25:34:33 elapsed; 991232 hosts completed (72530 up), 0 undergoing Ping Scan

Note the "0 undergoing". Now that number will be set to 4096 or whatever
the current ping scan group size happens to be.
2009-03-31 18:29:52 +00:00
fyodor
eccc235d5a Increase copyright year to 2009, simplify/reword some derivative works text, and remove a confusing clause about selling proprietary front-ends to Nmap 2009-03-31 04:16:12 +00:00
fyodor
7fca42a74c Add link to the man page to the usage text. Windows users generally don't have the man command and often don't even know what a man page is. 2009-03-27 19:18:46 +00:00
kris
56d83f74a2 Don't call the meaningless gettoppts if we're doing a ping or list scan. This
keeps the following debugging line from being printed in these modes:

	PORTS: Using top 1000 ports found open (TCP:0, UDP:0)

This also speeds these up because it doesn't necessarily have to read and parse
nmap-services.  Going from 0.25s to 0.04s for listing a /24 sounds good to me :)
2009-03-05 22:13:11 +00:00
david
486ff13e3a Add the --stats-every option. See http://seclists.org/nmap-dev/2009/q1/0404.html. 2009-02-24 00:23:54 +00:00
david
fb0f1cdd93 Remove an unnecessary call to keyWasPressed right before service_scan;
service_scan does that itself.
2009-02-14 16:25:46 +00:00
kris
3348faca3a update ip_is_reserved(): 109/8 and 178/8 allocated 2009-02-02 18:02:41 +00:00
kris
8eb6313aa2 updating ip_is_reserved(): 108/8 and 184/8 allocated 2008-12-22 18:17:34 +00:00
david
c561222685 Fix spelling in some identifiers. wierd_responses -> weird_responses,
printStatsIfNeccessary -> printStatsIfNecessary.
2008-12-04 17:04:48 +00:00
fyodor
263e62a3d4 comment out unused variable 2008-12-01 21:38:18 +00:00
fyodor
b9c6596a78 oops, missed removal of 204.152.64.0/23 in last checkin 2008-11-30 20:48:32 +00:00
fyodor
e9db35af38 Remove *.255.255.255 block from ip_is_reserved(), allowing these addresses to be selected in Random scans. Also removed the 204.152.64.0/23 block, as the reason for having it may no longer apply. Plus these are very small blocks to worry about in the grand scheme of things. Jack Grahl suggested the *.255.255.255 removal 2008-11-30 20:45:48 +00:00
david
3dd89201dc Initialize one global Lua state for running script scans, and reuse it in calls
to script_scan. This makes the NSE registry persist though all host groups.
2008-11-19 01:44:09 +00:00
kris
60338f216f updating ip_is_reserved(): 110/8 and 111/8 allocated to APNIC 2008-11-11 16:56:45 +00:00
kris
8c18093110 update ip_is_reserved(): 197/8 allocated 2008-10-27 21:28:57 +00:00
fyodor
ddb5829dcf minor syntax updates to the help screen text 2008-10-24 19:07:39 +00:00
david
7c32907cac Make Nmap quit when it gets a "backwards" port range like -p 20-10. 2008-10-20 01:58:58 +00:00
fyodor
1508da5acc fix an error message--specifying timeout values in days is not actually supported 2008-10-13 05:07:13 +00:00
david
466a760e67 Remove a few remaining references to NMAPLIBEXECDIR, where compiled NSE modules
used to be installed.
2008-09-23 23:25:40 +00:00
fyodor
d231a35e21 move --traceroute and --reason in nmap -h output 2008-09-21 09:40:14 +00:00
david
85a8d61536 Increase xmloutputversion to 1.03 for Zenmap unification changes. 2008-09-19 23:55:47 +00:00
david
20853ec49f Make xml_convert escape any character > 0x7F, and use xml_convert to escape the
value of the "args" attribute.

On Windows, I created a user account with the name "Kurt Gödel". When I ran a
scan in Zenmap, Nmap created a temporary XML file that started like

<?xml version="1.0" ?>
<?xml-stylesheet href="nmap.xsl" type="text/xsl"?>
<!-- Nmap 4.75 scan initiated Wed Sep 10 11:16:58 2008 as: nmap -T4 -F -oX c:\docume~1\kurtgö~1\locals~1\temp\zenmap-bcbuy6.xml 192.168.0.1 -->
<nmaprun scanner="nmap" args="nmap -T4 -F -oX c:\docume~1\kurtgö~1\locals~1\temp\zenmap-bcbuy6.xml 192.168.0.1" start="1221067018" startstr="Wed Sep 10 11:16:58 2008" version="4.75" xmloutputversion="1.02">

Notice the ö characters in the file names. They were not in UTF-8 but probably
whatever the filesystem encoding is. Because Nmap's XML does not declare an
encoding, it defaults to UTF-8, meaning this particular file was not even
well-formed. In Zenmap it caused a crash like

CRASH REPORTED:
SYS.PLATFORM: win32
OS.NAME: nt
Zenmap Version: 4.75
TRACEBACK:
Traceback (most recent call last):
  File "C:\cygwin\home\david\nmap\zenmap\zenmapGUI\ScanNotebook.py", line 387, in verify_execution
    self.load_from_command(scan)
  File "C:\cygwin\home\david\nmap\zenmap\zenmapGUI\ScanNotebook.py", line 400, in load_from_command
    parsed = self._parse(command.get_xml_output_filename())
  File "C:\cygwin\home\david\nmap\zenmap\zenmapGUI\ScanNotebook.py", line 444, in _parse
    parsed.parse_file(file_to_parse)
  File "C:\cygwin\home\david\nmap\zenmap\zenmapCore\NmapParser.py", line 749, in parse_file
    self.parse(f)
  File "C:\cygwin\home\david\nmap\zenmap\zenmapCore\NmapParser.py", line 743, in parse
    self.parser.parse(f)
  File "c:\Python25\lib\xml\sax\expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "c:\Python25\lib\xml\sax\xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "c:\Python25\lib\xml\sax\expatreader.py", line 211, in feed
    self._err_handler.fatalError(exc)
  File "c:\Python25\lib\xml\sax\handler.py", line 38, in fatalError
    raise exception
SAXParseException: c:\docume~1\kurtgö~1\locals~1\temp\zenmap-bcbuy6.xml:3:92: not well-formed (invalid token)

Plus Internet Explorer wouldn't even open it.

This change escapes the XML so it looks like

<?xml version="1.0" ?>
<?xml-stylesheet href="nmap.xsl" type="text/xsl"?>
<!-- Nmap 4.75 scan initiated Wed Sep 10 11:52:19 2008 as: nmap -PE -PA21,23,80,3389 -A -v -T4 -oX c:\docume~1\kurtg&#xF6;~1\locals~1\temp\zenmap-zih7f5.xml 192.168.0.1 -->
<nmaprun scanner="nmap" args="nmap -PE -PA21,23,80,3389 -A -v -T4 -oX c:\docume~1\kurtg&#xF6;~1\locals~1\temp\zenmap-zih7f5.xml 192.168.0.1" start="1221069139" startstr="Wed Sep 10 11:52:19 2008" version="4.75" xmloutputversion="1.02">
2008-09-10 18:32:35 +00:00
fyodor
30e26e481e we generally don't update the xmlversion just for a new attribute. Doing so may cause more trouble than its worth, though I'm open to convincing 2008-08-13 01:30:42 +00:00
michael
931285f765 Updated DTD, XML version, and anded scanflags attribute to scaninfo element. 2008-08-13 00:59:22 +00:00
david
9621ab338a Make some change to make --without-liblua work again. 2008-08-05 19:28:51 +00:00
kris
9d54506dc2 little fix to make --max_rate (underscore) work 2008-07-30 04:06:22 +00:00
david
25215ce9ba Add --max-rate to go with --min-rate. 2008-07-30 00:15:57 +00:00
fyodor
8605cc3682 Merge r863 of nmap-exp/fyodor-perf:
o Added the undocumented (except here) --nogcc option which disables
  global/group congestion control algorithms and so each member of a
  scan group of machines is treated separately.  This is just an
  experimental option for now. [Fyodor]
2008-07-11 07:28:36 +00:00
kris
d0a2ec9d50 Adding support for NSE + Ping Scan (-sP) for executing host scripts. So "-sPC", "-sP --script all" and "-sP --script ripeQuery" all work correctly 2008-07-03 04:11:42 +00:00
david
19f82d8224 Do a trivial alphabetization of -s? argument parsing code. 2008-06-30 19:55:10 +00:00
david
6c204ca599 Add a "min_rate" synonym for "min-rate" in nmap.cc, like the other options have. 2008-06-30 19:40:40 +00:00
kris
fee89db0a1 Update --webxml info in -h help screen: Insecure.Org -> Nmap.Org 2008-06-24 14:35:48 +00:00
kris
1d0456acad o Fixed a bug which caused -PN to erronously bail out for unprivileged
users.  Thanks to Jabra (jabra(a)spl0it.org) for the report. [Kris]

This was introduced when the ping probes were reorganized and moved
out of NmapOps (the o.pingtype check wasn't copied over)
2008-06-10 05:16:29 +00:00
kris
0632f1f8da updating --release-memory (thus far) and freeing some other areas early on 2008-06-08 05:29:00 +00:00
batrick
d0bc640db8 Large recode of nse_init.cc
Now does most of it's work through Lua:

From Nmap-dev: "Many of the changes consist of changing how Nmap interfaces
with Lua that were sometimes awkward or inflexible. Most of the functions 
have been made to be callable directly by Lua which offers many technical
advantages: stack management is alleviated, errors are handled cleanly and
are more descriptive, and there is increased reusability."

Additionally:
   -- Moved all lua_State * symbols from "l" to "L". This is to maintain
      consistency with other Lua libraries (convention) and to make our macros portable.
   -- Moved file system manipulation over to nse_fs.cc (from nse_init.cc)
2008-05-31 02:39:27 +00:00
michael
9f1c28ad9c This patch reorganizes the way ping probes are handled internally.
Previously the ping probe data structures were stored in NmapOps,
now they will be stored in the scan_lists struct. All other changes
auxiliary to this reorganization.
2008-05-29 07:49:37 +00:00
doug
29d2b20c98 Added error message for improperly formatted port/protocol string.
Thanks to David for finding this problem.
2008-05-28 22:25:05 +00:00
michael
bbc2196eea Fixed one of the memory leaks in getpts_simple which occures when no ports are to be added to 'list'. 'porttbl' is now free'd regardless of how the function returns. 2008-05-28 20:14:44 +00:00
david
d6b1222295 Use else blocks, rather than separate if blocks, when checking for arguments to
the -P? options to better communicate the intent of the code. Also remove
braces from around some one-line calls to fatal.
2008-05-28 15:45:46 +00:00
david
a90ec1ef8a Use DEFAULT_PING_TYPES for the -PB option rather than reconstructing the
definition.
2008-05-28 15:35:23 +00:00
david
d5653dad26 Guard against providing duplicate ping options like
nmap -PA80 -PA443 target
Previously this would use 443 only, and leak a little bit of memory as the
pointer to the array containing 80 was lost. Now it gives an error

Only one -PB, -PA, or -PT option is allowed. Combine port ranges with commas.
QUITTING!
2008-05-28 15:33:05 +00:00
kris
c7eb8011d9 NSE now has a "default" category for scripts. This category holds the set
of scripts chosen from when using -sC (but it's still just another category
and so can be chosen with --script like any other).

On top of updating the docs with information about this new category, I've
also updated sections to emphasize that the "default" category, -sC and -A
are considered intrusive and should not be run against target networks
without permission.

The new list is very similar to the previous "safe,intrusive" list:

Added: finger, ircServerInfo, RealVNC_auth_bypass
Removed: HTTPpasswd

Here are the 21 scripts in this new category:

anonFTP
dns-test-open-recursion
finger
ftpbounce
HTTPAuth
HTTP_open_proxy
ircServerInfo
MSSQLm
MySQLinfo
nbstat
RealVNC_auth_bypass
robots
rpcinfo
showHTMLTitle
showOwner
SMTPcommands
SNMPsysdesr
SSHv1-support
SSLv2-support
UPnP-info
zoneTrans
2008-05-28 07:16:32 +00:00
kris
ca5848efdb Updating ip_is_reserved(): 112/8 and 113/8 were allocated to APNIC 2008-05-27 18:31:26 +00:00