<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8653929513017737285</id><updated>2011-04-21T13:39:34.306-07:00</updated><title type='text'>Summer of Zenmapping 2008</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-4096460599850730346</id><published>2008-08-25T16:55:00.000-07:00</published><updated>2008-08-25T18:27:31.414-07:00</updated><title type='text'>The Inventory and The Topology</title><content type='html'>As of today (or yesterday, depending on your time zone), Zenmap has a couple of hot new features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The network inventory&lt;/li&gt;&lt;li&gt;Graphical topology visualization&lt;/li&gt;&lt;/ul&gt;The network inventory is a new concept that allows you to run many scans from inside one Zenmap window, and view all results as if they were a part of one "big" scan. Each host's information is updated every time a scan targeting it has finished executing. This is done carefully, keeping host information from previous scans if the new scan doesn't discover anything new about the host.&lt;br /&gt;&lt;br /&gt;Graphical topology visualization is achieved by integrating &lt;a href="http://www.dca.ufrn.br/%7Ejoaomedeiros/radialnet/"&gt;RadialNet&lt;/a&gt; into Zenmap. Every time you run a traceroute scan (&lt;span style="font-style: italic;"&gt;nmap --traceroute ...&lt;/span&gt;), the network topology (accessible from the "Topology" tab) gets updated.&lt;br /&gt;&lt;br /&gt;To illustrate these powerful concepts, consider the following example: we will run a quick &lt;span style="font-style: italic;"&gt;nmap -p80 -PN --traceroute google.com/28&lt;/span&gt; scan to enumerate a couple of Google's web servers. Then, we will run a more aggressive scan on a couple of those machines to illustrate the cumulative nature of the underlying network inventory.&lt;br /&gt;&lt;br /&gt;After running &lt;span style="font-style: italic;"&gt;nmap -p80 -PN --traceroute&lt;/span&gt;&lt;span style="font-style: italic;"&gt; google.com/28&lt;/span&gt;, we get the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_X68Z0RrfgFw/SLNOeWvg3UI/AAAAAAAAAAU/nQyQAfaxOEE/s1600-h/zenmap01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_X68Z0RrfgFw/SLNOeWvg3UI/AAAAAAAAAAU/nQyQAfaxOEE/s320/zenmap01.png" alt="" id="BLOGGER_PHOTO_ID_5238617074969926978" border="0" /&gt;&lt;/a&gt;Notice that the toolbar and the tab interface have been removed from Zenmap, in an ongoing effort to maximize useful space. Now, if we click on the "Topology" tab, we get the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_X68Z0RrfgFw/SLNPj3aIqWI/AAAAAAAAAAc/8YbHRbLau5E/s1600-h/zenmap02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_X68Z0RrfgFw/SLNPj3aIqWI/AAAAAAAAAAc/8YbHRbLau5E/s320/zenmap02.png" alt="" id="BLOGGER_PHOTO_ID_5238618269149604194" border="0" /&gt;&lt;/a&gt;And there it is, the path that your packets have travelled on their way to Google. In the bottom of the screen, you can see a number of nodes connected to the localhost node with a dashed line. This indicates that there's no traceroute information available for these nodes. You can find more details about the visualization at the &lt;a href="http://www.dca.ufrn.br/%7Ejoaomedeiros/radialnet/#toc3"&gt;RadialNet homepage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now let's say we want to run two in-depth scans on &lt;span style="font-style: italic;"&gt;lm-in-f96.google.com&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;lm-in-f97.google.com.&lt;/span&gt; We'll run a regular scan on &lt;span style="font-style: italic;"&gt;f96&lt;/span&gt; and an OS detection scan on &lt;span style="font-style: italic;"&gt;f97&lt;/span&gt;. So, we enter the first target into the "Target" field, select the "Regular Scan" profile, and run it. Without waiting for the first scan to finish, we enter the second target, select the "Operating System Detection" profile, and run the scan. Clicking on the "Scans" tab will get us the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_X68Z0RrfgFw/SLNTTEGmO_I/AAAAAAAAAAk/fsmC9oc-o7U/s1600-h/zenmap03.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_X68Z0RrfgFw/SLNTTEGmO_I/AAAAAAAAAAk/fsmC9oc-o7U/s320/zenmap03.png" alt="" id="BLOGGER_PHOTO_ID_5238622378546052082" border="0" /&gt;&lt;/a&gt;We can see that there are two scans running in the background, plus the finished traceroute scan we ran earlier. Back in the "Nmap output" tab, you can select which scan's output you want to see by selecting it from the dropdown box at the top of the tab.&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_X68Z0RrfgFw/SLNU9Er_SbI/AAAAAAAAAAs/N36yRhAipZQ/s1600-h/zenmap04.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_X68Z0RrfgFw/SLNU9Er_SbI/AAAAAAAAAAs/N36yRhAipZQ/s320/zenmap04.png" alt="" id="BLOGGER_PHOTO_ID_5238624199769016754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can see that &lt;span style="font-style: italic;"&gt;lm-in-f97.google.com&lt;/span&gt;&lt;span&gt;'s icon has changed to a penguin image, indicating that there's now an OS detection result for that host. You can view the details in the usual fashion, by selecting &lt;/span&gt;&lt;span style="font-style: italic;"&gt;lm-in-f97.google.com&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;in the host list and clicking on "Host Details".&lt;br /&gt;&lt;span&gt;&lt;br /&gt;Now, we have acquired the information we need, so we'd like to save it. Since there are three scans in the current inventory, we can choose to either save some (or all) of them individually by hand (Scan -&gt; Save Scan), or we can choose to save the entire inventory to a directory (Scan -&gt; Save to Directory). The former works just as you would expect, saving one scan of choice to a .usr file. The latter saves all scans to a given directory, so that the inventory can later be easily loaded by selecting Scan -&gt; Open -&gt; (from the Open Scan dialog) Open Directory.&lt;br /&gt;&lt;br /&gt;Note that Zenmap will refuse to save the inventory to a directory that contains files that are not a part of the inventory. However, you can save the inventory to a directory it has been loaded from, since Zenmap is trying to emulate saving to a file as much as possible. In other words, you can open the inventory from "myinv/", run some scans, and then save the inventory back to "myinv/".&lt;br /&gt;&lt;br /&gt;You can append any saved scan to the inventory by selecting "Append scan" from the "Scans" tab. Also, you can remove a scan from the inventory by selecting the scan and clicking on "Remove scan".&lt;br /&gt;&lt;br /&gt;These changes are now a part of the main Zenmap branch, so if you want to give them a shot before the next Nmap version is released, fire up your svn:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;svn co --username guest --password ""  svn://svn.insecure.org/zenmap&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cd zenmap&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;./zenmap &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-4096460599850730346?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/4096460599850730346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=4096460599850730346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4096460599850730346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4096460599850730346'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/08/inventory-and-topology.html' title='The Inventory and The Topology'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_X68Z0RrfgFw/SLNOeWvg3UI/AAAAAAAAAAU/nQyQAfaxOEE/s72-c/zenmap01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-1840028182017990810</id><published>2008-07-10T14:13:00.002-07:00</published><updated>2008-07-10T14:14:12.174-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.jurand.net"&gt;http://www.jurand.net&lt;/a&gt; my personal website&lt;br /&gt;&lt;a href="http://jurandn.wikidot.com"&gt;http://jurandn.wikidot.com&lt;/a&gt; my nmap GSoC blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-1840028182017990810?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/1840028182017990810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=1840028182017990810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/1840028182017990810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/1840028182017990810'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/07/httpwww_10.html' title=''/><author><name>Jurand Nogiec</name><uri>http://www.blogger.com/profile/11927845641377150061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-7670611490463223303</id><published>2008-07-10T14:13:00.001-07:00</published><updated>2008-07-10T14:14:38.811-07:00</updated><title type='text'></title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-7670611490463223303?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/7670611490463223303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=7670611490463223303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/7670611490463223303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/7670611490463223303'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/07/httpwww.html' title=''/><author><name>Jurand Nogiec</name><uri>http://www.blogger.com/profile/11927845641377150061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-5051696381418521868</id><published>2008-06-19T16:23:00.000-07:00</published><updated>2008-06-19T16:36:39.221-07:00</updated><title type='text'>Search interface redesigned</title><content type='html'>I have completed the search interface redesign. Until the changes are merged into the main branch, you can check out the changes from my zenmap-search branch:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;svn co svn://svn.insecure.org/nmap-exp/vladimir/zenmap-search&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cd zenmap-search&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;./zenmap&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-5051696381418521868?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/5051696381418521868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=5051696381418521868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/5051696381418521868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/5051696381418521868'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/06/search-interface-redesigned.html' title='Search interface redesigned'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-3409364246173439077</id><published>2008-06-05T11:51:00.000-07:00</published><updated>2008-06-06T09:59:33.046-07:00</updated><title type='text'>Search scenarios and solving them</title><content type='html'>Since the Search Window overhaul is reaching the "testable by community" phase, here are a couple of real-world search scenarios and their equivalent search strings in Zenmap. I'm assuming that the current date is 2008-06-05, and I'm using full operator names. You can always use aliases if you want a shorter (and quicker to type) search.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Find scans performed yesterday.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;date:-1&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;or&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;date:2008-06-04&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Find scans performed any time in the last week.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;after:-7&lt;/span&gt;&lt;br /&gt;or&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;after:2008-05-29&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Find scans with hosts that have a given host (12.34.56.78) in their path.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;inroute:12.34.56.78&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Find all scans containing machines running OpenSSH.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;service:openssh&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;There are still real-world scenarios that need to be taken into account, which cannot yet be expressed in Zenmap, such as:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Find all scans containing Debian and Ubuntu machines.&lt;/li&gt;&lt;li&gt;Find all scans containing machines with port 22 open or with a service named ssh.&lt;/li&gt;&lt;/ul&gt;These two examples both require some form of an or-search, which is not planned for this initial release. At the moment, you can accomplish these queries by making two separate searches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-3409364246173439077?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/3409364246173439077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=3409364246173439077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/3409364246173439077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/3409364246173439077'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/06/search-scenarios-and-solving-them.html' title='Search scenarios and solving them'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-8369092531744265674</id><published>2008-05-26T08:25:00.000-07:00</published><updated>2008-06-18T09:11:55.102-07:00</updated><title type='text'>Search Window TODO</title><content type='html'>After discussing the future functionality of Zenmap's Search Window &lt;a href="http://seclists.org/nmap-dev/2008/q2/0431.html"&gt;on the mailing list&lt;/a&gt;, I have assembled the following TODO.&lt;br /&gt;&lt;br /&gt;Supported operators and their aliases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;profile: (pr:)&lt;/span&gt; - Profile used.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;target: (t:)&lt;/span&gt; - Scan target(s). Matches the user-supplied target, or a rDNS result.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;option: (o:)&lt;/span&gt; - Scan options. This includes everything in the command line, except "nmap" and the target list. Options that take arguments can be matched using the following syntax: "opt:option_name(argument)". For example, "opt:version-intensity(9)" matches all scans that have --version-intensity set to 9.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;date: (d:)&lt;/span&gt; - Date when scan was performed. Apart from the standard "date:YYYY-MM-DD" format, it will be possible to perform fuzzy matching using the "~" prefix. For example, "date:2008-12-25~" matches all scans performed from 00:00 on December 24 until 00:00 on December 27 (a span of three days). Using the fuzziness operator twice means the span of five days (in the previous example, 00:00 on December 23 until 00:00 on December 28). The "~" operator can be used anywhere in the date string, since it gets stripped out before parsing the date.&lt;br /&gt;In addition, it is possible to use the "date:-&lt;span style="font-style: italic;"&gt;n&lt;/span&gt;" notation which means "&lt;span style="font-style: italic;"&gt;n&lt;/span&gt; days ago". Basically, it just calculates the date of &lt;span style="font-style: italic;"&gt;n&lt;/span&gt; days ago, and proceeds with normal date logic. Fuzzy matching is also applicable here.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;after: (a:)&lt;/span&gt; - Matches scans made after the supplied date (YYYY-MM-DD). The "-&lt;span style="font-style: italic;"&gt;n&lt;/span&gt;" notation can also be used (see above).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;before (b:)&lt;/span&gt; - Matches scans made before the supplied date. The "-&lt;span style="font-style: italic;"&gt;n&lt;/span&gt;" notation can also be used.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;os:&lt;/span&gt; - Matches all OS-related fields (including vendor, device type, OS details, OS class, OS version, etc.).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;scanned: (sp:)&lt;/span&gt; - Matches a port if it was among those scanned.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;open: (op:)&lt;/span&gt; - Open ports discovered in a scan. For example, "op:22" returns all scans that discovered an open SSH port.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;closed: (cp:)&lt;/span&gt; - Closed ports discovered in a scan.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;filtered: (fp:)&lt;/span&gt; - Filtered ports discovered in scan.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;unfiltered: (ufp:)&lt;/span&gt; - Unfiltered ports found in a scan (using, for example, an ACK scan).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;open|filtered: (ofp:)&lt;/span&gt; - Matches ports in the "open|filtered" state.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;closed|filtered: (cfp:)&lt;/span&gt; - Matches ports in the "closed|filtered" state.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;service: (s:)&lt;/span&gt; - Service discovered running on a port. Matches all service-related fields, where present.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;inroute: (ir:)&lt;/span&gt; - Matches a router in the scan's traceroute output.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Additionally,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Bare" search strings (without an operator) match anything, anywhere in the scan's output or its command string.&lt;/li&gt;&lt;li&gt;Searches that contain spaces can be wrapped inside quotation marks.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The "and" operator is implicit.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-8369092531744265674?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/8369092531744265674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=8369092531744265674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/8369092531744265674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/8369092531744265674'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/05/search-window-todo.html' title='Search Window TODO'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-4873852793641333670</id><published>2008-05-15T11:31:00.001-07:00</published><updated>2008-05-15T11:32:13.215-07:00</updated><title type='text'>Tasks</title><content type='html'>I have nearly finished doing one of my first real tasks, which is to get nmap_command_path to actually work from within Zenmap, with the path to the nmap executable located in the Zenmap.conf file. I should be making my first SVN commit today too for this! Exciting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-4873852793641333670?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/4873852793641333670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=4873852793641333670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4873852793641333670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4873852793641333670'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/05/tasks.html' title='Tasks'/><author><name>Jurand Nogiec</name><uri>http://www.blogger.com/profile/11927845641377150061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-5078739942645331182</id><published>2008-05-07T07:30:00.000-07:00</published><updated>2008-05-07T08:25:43.166-07:00</updated><title type='text'>My 2 cents on code style I would like to avoid</title><content type='html'>While working on the assignment, I came across some code that took me a while to decipher. For example:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;        for result in results:&lt;br /&gt;            if results[result][1].is_unsaved():&lt;br /&gt;                for i in range(self.scan_notebook.get_n_pages()):&lt;br /&gt;                    if results[result][0] == "Unsaved " + \&lt;br /&gt;                    self.scan_notebook.get_nth_page(i).get_tab_label():&lt;br /&gt;                        self.scan_notebook.set_current_page(i)&lt;br /&gt;            else:&lt;br /&gt;                page = self._load(parsed_result=results[result][1],&lt;br /&gt;                              title=results[result][1].scan_name)&lt;br /&gt;                page.status.set_search_loaded()&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;or&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;        selection = self.result_view.get_selection()&lt;br /&gt;        rows = selection.get_selected_rows()&lt;br /&gt;        list_store = rows[0]&lt;br /&gt;&lt;br /&gt;        results = {}&lt;br /&gt;        for row in rows[1]:&lt;br /&gt;            r = row[0]&lt;br /&gt;            results[list_store[r][2]] = self.parsed_results[list_store[r][2]]&lt;br /&gt;&lt;br /&gt;        return results&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;This stuff makes perfect sense, but only after a couple of minutes of deciphering (with possible documentation lookups). Also, it has no comments whatsoever. If we are to make Zenmap a better Nmap frontend, we need to start by improving code readability - it makes maintenance easier and allows new developers (like myself) to dig right into the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-5078739942645331182?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/5078739942645331182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=5078739942645331182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/5078739942645331182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/5078739942645331182'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/05/my-2-cents-on-code-style-i-would-like.html' title='My 2 cents on code style I would like to avoid'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-4594432594952805890</id><published>2008-05-05T14:51:00.001-07:00</published><updated>2008-05-05T14:52:42.525-07:00</updated><title type='text'>Zenmapper #2</title><content type='html'>Hi -- I will be working with Vladimir over the summer to improve the Zenmap interface and design for the Google Summer of Code 2008 program. I go to the University of Illinois at Urbana-Champaign, going to start my third year for B.S. in Computer Science soon. This summer should certainly be quite interesting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-4594432594952805890?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/4594432594952805890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=4594432594952805890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4594432594952805890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/4594432594952805890'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/05/zenmapper-2.html' title='Zenmapper #2'/><author><name>Jurand Nogiec</name><uri>http://www.blogger.com/profile/11927845641377150061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8653929513017737285.post-2024723394314219327</id><published>2008-05-04T15:29:00.000-07:00</published><updated>2008-05-04T15:59:06.170-07:00</updated><title type='text'>Getting ready for Summer of Code 2008</title><content type='html'>Hi everyone.&lt;br /&gt;&lt;br /&gt;I've started this blog in order to provide a centralized place for information on Zenmap development that will take place during this year's &lt;a href="http://code.google.com/soc/2008/"&gt;Google Summer Of Code&lt;/a&gt;. I will be working on various usability improvements, as well as coding the new Network Mapping mode. I will not be alone - Jurand Nogiec will also be working on improving Zenmap and making it the coolest Nmap frontend ever. :) Our efforts will be coordinated by David Fifield.&lt;br /&gt;&lt;br /&gt;I'm currently familiarizing myself with Zenmap code and working on improving the comments on the two source files that David gave me as a small pre-SoC assignment. (I have two exams coming up, so I won't be doing anything big or interesting until after May 18.)&lt;br /&gt;&lt;br /&gt;Here's a snapshot of my SoC application, just so you have a picture of what ideas I proposed. (My actual SoC schedule will probably include a lot of work on usability, so these ideas will probably have to wait at least a couple of weeks after coding starts.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;I am planning to integrate RadialNet into Zenmap, and implement the ideas I brought out on the nmap-dev mailing list [http://seclists.org/nmap-dev/2008/q1/0409.html]. The folks from Umit have already done some work on merging RadialNet and Umit, but the only place where it can be seen in action is the YouTube video they posted. It cannot even be checked out from SVN. However, I won't try to redo their work, as my approach as different.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;I think a "Network Mapping" mode (working title) should be created. It should be accessible from the toolbar, or from the "Scan" menu. When it is invoked, a new "Network Mapping" window will open, presenting a user with an empty RadialNet workspace, and a command line at the bottom. The command line can be used to run a regular Nmap sweep (or select an existing scan profile from the list), or it can be used to invoke a "network discovery" command.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Both the idea and the mechanism behind the "network discovery" command is explained in my post to the nmap-dev mailing list [http://seclists.org/nmap-dev/2008/q1/0409.html], along with a proof-of-concept code and some ugly screenshots. Of course, it will be modified to utilize Nmap's traceroute functionality.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Now, having browsed through the RadialNet code, it lacks some key features, which I intend to add:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;1. Selection tool - currently, nodes cannot be selected on the topology, so that a new scan can be run on them. By adding a new "Select Nodes" tool, it will be possible to *expand* a scan, adding information to the topology, without the need of running a new scan. Without the ability to append scan data to an already existing topology, one would have to create two separate topology graphs, which basically represent the same network but with different scan types / targets.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;From the GUI point of view, I think a "Scan further..." button should become available as soon as one or more hosts are selected, presenting a user with a scan profile list, or the option of running a Command Wizard to construct the scan. As for 1337 guys, they can type something like "nmap [options] $selected" into the command line.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;2. Two-way communication between the "host application" (Zenmap) and RadialNet - RadialNet currently loads its topology from an .xml file, which is only good if you want to statically interpret the scan results. You cannot do any active interaction with the topology after it's loaded (I don't count zooming and rotating as "active interaction").&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;A thorough two-way communication must be designed and implemented. I say "two-way", because I think we want to keep the existing Zenmap functionality useful even when running scans from the "Network Mapping" (NM) window. For example, when a first scan is run from the NM window, the Zenmap window should open a new tab which will present regular on-the-fly information. Now, let's say a user selects a few nodes on the topology graph and runs (appends) a new scan from within the NM window - a new tab opens in Zenmap window, presenting us with this scan's progress and results, and so on. Thus, we keep the original Zenmap functionality, but we empower it with RadialNet's goodness.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8653929513017737285-2024723394314219327?l=zenmap-soc08.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zenmap-soc08.blogspot.com/feeds/2024723394314219327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8653929513017737285&amp;postID=2024723394314219327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/2024723394314219327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8653929513017737285/posts/default/2024723394314219327'/><link rel='alternate' type='text/html' href='http://zenmap-soc08.blogspot.com/2008/05/getting-ready-for-summer-of-code-2008.html' title='Getting ready for Summer of Code 2008'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/02846943797960529193</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
