Nmap Development mailing list archives
Re: [NSE] firewalk.nse updated
From: David Fifield <david () bamsoftware com>
Date: Mon, 27 Sep 2010 20:30:57 -0700
On Wed, Sep 08, 2010 at 08:51:01PM +0200, Henri Doreau wrote:
I've been working on adding UDP support to my initial firewalk.nse script. The path-mtu.nse script was a nice reference to achieve this. I've also rewritten function "definitions" to use the : "local function something(arg)" syntax instead of "local something = function(arg)". I find the former more readable. I can see both used in nmap scripts, so I assume there is no (or no big) difference between them. The script doesn't have an option to specify ports to scan yet. Currently, it selects every tcp-filtered and udp-open|filtered port. Please find attached this new version for review.
Thanks, I have committed it. I want to suggest a different structure. Since you handle both TCP and UDP, many of the functions have the same if/else structure: local function func(proto) if proto == IPPROTO_TCP then ... elseif proto == IPPROTO_UDP then ... end end The problem here is that when someone adds a new protocol or makes a change in one place, they have to remember to change or at least check all the if/elses in the file. You can centralize the information better using "protocol objects" that have a list of all their functions. tcp_funcs = { func = function() ... end, -- More functions... } udp_funcs = { func = function() ... end, -- More functions... } protos = { tcp = tcp_funcs, udp = udp_funcs, } Then you would make calls like protos[proto].func() And of course you can cache protos[proto] if the protocol stays the same throughout the script execution. David Fifield _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://seclists.org/nmap-dev/
Current thread:
- [NSE] firewalk.nse updated Henri Doreau (Sep 08)
- Re: [NSE] firewalk.nse updated Patrick Donnelly (Sep 08)
- Re: [NSE] firewalk.nse updated Ron (Sep 08)
- Re: [NSE] firewalk.nse updated David Fifield (Sep 27)
- Re: [NSE] firewalk.nse updated Patrick Donnelly (Sep 08)