Nmap Development mailing list archives
Re: [NSE] nmap timing info for scripts
From: jah <jah () zadkiel plus com>
Date: Tue, 17 Jun 2008 00:06:33 +0100
On 14/06/2008 01:32, Fyodor wrote:
Sounds good, except I don't think we need a mathetical model for the 6 timeout values. How about: Connection timeouts: T0-T3: 10s T4-T5: 5s GET request read timeouts: T0-T3: 15s T4: 10s T5: 7s
Hi, nmap_timing() isn't currently working because the nmap_timing field has been added to nmap lib registry in nse_nmaplib.cc, but it's in a commented-out section. I've attached nse_nmaplib.cc.patch in case this hasn't been done for a reason. http.lua.patch will add (against current svn and when nmap_timing() is working) a function to get default timeout values as per Fyodor's suggestion and sets a timeout (when none is specified in the options table) for both the connect() and send() functions. I've done a few tests and it looks OK. Regards, jah
--- http.lua.orig 2008-06-16 22:18:49.843750000 +0100 +++ http.lua 2008-06-16 23:33:09.406250000 +0100 @@ -85,12 +85,19 @@ local result = {status=nil,header={},body=""} local socket = nmap.new_socket() + local default_timeout = {} if options.timeout then socket:set_timeout( options.timeout ) + else + default_timeout = get_default_timeout( nmap.timing_level() ) + socket:set_timeout( default_timeout.connect ) end if not socket:connect( host, port, protocol ) then return result end + if not options.timeout then + socket:set_timeout( default_timeout.request ) + end if not socket:send( data ) then return result end @@ -147,3 +154,18 @@ end +get_default_timeout = function( nmap_timing ) + local timeout = {} + if nmap_timing >= 0 and nmap_timing <= 3 then + timeout.connect = 10000 + timeout.request = 15000 + end + if nmap_timing >= 4 then + timeout.connect = 5000 + timeout.request = 10000 + end + if nmap_timing >= 5 then + timeout.request = 7000 + end + return timeout +end \ No newline at end of file
--- nse_nmaplib.cc.orig 2008-06-14 20:35:11.359375000 +0100 +++ nse_nmaplib.cc 2008-06-16 23:02:56.109375000 +0100 @@ -99,6 +99,7 @@ {"debugging", l_get_debugging}, {"have_ssl", l_get_have_ssl}, {"fetchfile", l_fetchfile}, + {"timing_level", l_get_timing_level}, {NULL, NULL} };
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- Re: [NSE] nmap timing info for scripts Fyodor (Apr 05)
- RE: [NSE] nmap timing info for scripts Thomas Buchanan (Apr 06)
- <Possible follow-ups>
- RE: [NSE] nmap timing info for scripts Thomas Buchanan (Apr 14)
- Re: [NSE] nmap timing info for scripts jah (Jun 06)
- Re: [NSE] nmap timing info for scripts Arturo 'Buanzo' Busleiman (Jun 06)
- Re: [NSE] nmap timing info for scripts Fyodor (Jun 13)
- Re: [NSE] nmap timing info for scripts jah (Jun 16)
- Re: [NSE] nmap timing info for scripts Fyodor (Jun 17)
- Re: [NSE] nmap timing info for scripts jah (Jun 06)
- Re: [NSE] nmap timing info for scripts Fyodor (Jun 13)