Nmap Development mailing list archives
Jay's Status Report #2 of 13
From: Jay Bosamiya <jaybosamiya () gmail com>
Date: Mon, 02 Jun 2014 20:52:18 +0530
Hi All!
This is the report for week 2 as "Feature Creeper and Bug Wrangler".
Achievements:
1. Read through a huge chunk of Zenmap's code (both Core as well as GUI).
2. Came up with a way to reliably reproduce Zenmap's MemoryError. This
not only helps me figure out what the possible causes could be, but
also helps me analyze parts of the memory and also lets me use it as
a testing tool to see whether the MemoryError is handled correctly
or not (when it actually gets handled).
3. Applied some memory profiling tools to Zenmap to try to analyze the
root cause of the MemoryError. No luck with any tool. So, I had to
resort to the extremely basic and effective (but time consuming)
method of reading through the code and executing it on paper. This
helped me to get to what the causes might be.
4. I showed that the MemoryError in Zenmap is due to it being unable to
handle large output generated by Nmap. This was difficult to show
since memory profiling tools don't seem to show any problem with the
large output (since the problem is not at any one point but
distributed throughout the application). However, I analyzed Zenmap
under many different conditions and configurations to come upon this
conclusion.
5. Analyzed different possible solutions to Zenmap's MemoryError and
discussed with Dan. Came upon a possible solution that involves
file-based paging system. However, further analysis showed that this
(file based paging) may actually involve a huge reworking of
Zenmap's code.
6. I wrote some quick and dirty fixes to catch and report the
MemoryError. These still require further testing and improvement in
order to be properly usable. (Turns out that the MemoryError problem
is more deep seated than I initially thought it would be and so
catching it only postpones the error to a different time).
7. Corrected the Target MAC Address in Nmap's ARP discovery to conform
to what IP stacks in currently popular operating systems use.
(Committed as revision 32920)
8. Added a randomizer to configure script so that a random ASCII art
from docs/leet-nmap-ascii-art*.txt is printed. (Committed as
revision 32919)
Priorities:
1. Consider some alternatives on how to handle the MemoryError in
Zenmap. I will need to discuss this a little and then finally come
up with a plan.
2. Code in the fix for the MemoryError
3. Elicit some specific requirements for a --exclude-ports option for
Nmap. I have discussed a little bit of this with Dan and we've come
up with a list of things to think about. I spent some time analyzing
these things. I will start a thread on the dev list to discuss this
since these are design issues (since it involves the addition of a
new feature to Nmap). I can then start to work on it after getting
some definitive responses.
Cheers,
Jay
_______________________________________________
Sent through the dev mailing list
http://nmap.org/mailman/listinfo/dev
Archived at http://seclists.org/nmap-dev/
Current thread:
- Jay's Status Report #1 of 13 Jay Bosamiya (May 26)
- Jay's Status Report #2 of 13 Jay Bosamiya (Jun 02)
- Jay's Status Report #3 of 13 Jay Bosamiya (Jun 09)
- Re: Jay's Status Report #3 of 13 Jay Bosamiya (Jun 16)
- Jay's Status Report #4 of 13 Jay Bosamiya (Jun 16)
- Jay's Status Report #5 of 13 Jay Bosamiya (Jun 23)
- Jay's Status Report #6 of 13 Jay Bosamiya (Jun 30)
- Jay's Status Report #3 of 13 Jay Bosamiya (Jun 09)
- Jay's Status Report #2 of 13 Jay Bosamiya (Jun 02)
