GSoC/GCI Archive
Google Summer of Code 2010

Nmap Security Scanner

Web Page:

Mailing List:

The Nmap Security Scanner is a free and open source utility used by millions of people for network discovery, administration, inventory, and security auditing. Nmap uses raw IP packets in novel ways to determine what hosts are available on a network, what services (application name and version) those hosts are offering, what operating systems they are running, what type of packet filters or firewalls are in use, and more. Nmap was named "Information Security Product of the Year" by Linux Journal and Info World. It was also used by hackers in nine movies, including The Matrix Reloaded, Die Hard 4, and The Bourne Ultimatum. Nmap runs on all major computer operating systems, plus the Amiga. A traditional command-line interface and the Zenmap GUI are included.

This will be Nmap's sixth year as a SoC participant.  Results from our previous years are described in this Google Open Source Blog article.

Please see all of our SoC information at


  • Ncrack - Extension and Improvement We are going to focus on improving and extending Ncrack with additional features. Key areas: * Major extension of the core engine. * Expansion of the protocol modules: -- HTTP-form auth -- SSHv1 support (extension of the OpenSSH library) -- SMB -- rdp -- SMTP/IMAP/POP3 and possibly more * Further usability features (more options) * Bugfixes
  • nmap hosted/cloud scanner I propose a (self-)hosted, secure, usable and scalable web application that allows users to create and run nmap scans. The proposed design separates the web application that provides user-specific functionality from the daemon that queues up and runs nmap scans; by using this kind of tiering the aim is to both reduce security risks and allow for easy scaling. Must-have features include the ability to create and save scans, view and download the results, and compare the output of different scans.
  • Nmap Scripting Engine—Infrastructure manager This is a project to extend the NSE infrasructure, and to write and fix NSE scripts. Extending NSE may take some time so we must identify the most interesting features that can be used by the most important scripts, taking into consideration the fact that some new NSE features may need a change into the NSE and Nmap base code. Writing and fixing nselibs and scripts may not take lot of time, this of course will depend on the nature of the task.
  • Nping Developer The following application presents the GSoC proposal for the Nmap Security Scanner. It focuses on the development of a new feature for the Nping packet generator: the Nping Echo Mode. The proposal is submitted by Luis MartinGarcia, a Computer Engineering student at Carlos III University of Madrid, Spain.
  • NSE: SMB/MS-RPC related exploits/DoSs/fuzzer Goals for this project is to port relevant SMB/MS-RPC related exploit and dos modules, as well as some useful enumeration modules, from the Metasploit tool to NMAP in a form of NSE scripts. NMAPs "smb-check-vulns.nse" already implements a check for a ms08-067 vulnerability, so this serves as a good motivational reference. Further more, the secondary goal would be to develop an MS-RPC fuzzer to the point of discovering new vulnerabilities.
  • Script selection and arguments passing feature in Zenmap UI for NSE. To design and implement script selection and argument passing feature in Zenmap.The arguments for script(s) selected are extracted and can be given values in the interface itself. Other than this,features like script install/uninstall facility,Searching scripts based on keywords,Viewing the results and saving them,Integrating results with hosts viewer,Warning the user before executing harmful scripts and auto-update of scripts from nmap SVN will be designed and implemented.
  • Umit Proposal: Umit Network Scanner - Integration and Improvements There are currently 3 pendent projects in Umit (ZION, NSE Facilitator e Preferences Window), so my objective for Google Summer of Code is to integrate all that 3 projects for the mainstream version of Umit. With the new projects the Preferences Window need to be refactored to support the new options. Because Umit will need to support 2 backends, it implies refactoring the umit.core (NmapParser, etc). With the Zion integration, Umit will be more scalable, and allow more efficient network searchs.
  • Umit: UMPA improvements The UMPA library from Umit project is a very useful packet generation and dissection tool. However, many of its features were not finished. I'd like to breathe life into it and code all the incomplete or missing functionalities, making it a complete and easy-to-use tool.