Nmap Development mailing list archives

Re: GSoC Proposal: Nmap on Maemo/ Symbian


From: Sukhbir Singh <singheinstein () gmail com>
Date: Wed, 24 Mar 2010 11:00:42 +0530

Hi David and everyone else,

It's great to be thinking about these things and I'm glad you're
interested in the project! I have to say though, that I think it's
completely unworkable to rewrite Zenmap using Qt. Even if it was
successful, we would have to abandon the existing GTK+ version. The key
thing, as Fyodor mentioned, is having to maintain two codebases. There's
no good way to do that.


I was thinking of giving Nmap a Qt GUI. I won't be attempting to recode
Zenmap GTK -> Zenmap Qt, but write a completely new Zenmap Qt - from
scratch. When moving code between toolkits, the best approach I think is to
stick to a native toolkit for that particular platform.


I'm pretty sure Zenmap does run on Maemo, at least there is code that is
designed to handle it. Fyodor had it running on a version of Maemo, just
not the most recent one.


Indeed, I also saw that. And of course Maemo supports both the GTK+ toolkit
and Qt. If we do a Qt port, you would be running the most recent one :)


There was a newer Qt interface to Nmap announced in December 2009. I
just looked and its most recent release was a few days ago. Maybe it
would be better to port that to work on Symbian?

http://www.nmapsi4.org/
http://seclists.org/nmap-dev/2009/q4/654


Quite possibly yes. I have looked over the source code and I think a few
changes need to be made. Specifically the UI part, since we will be working
with small screen sizes on the S60. Same for Maemo, though we have more
control over that because of the touch screen.


Can't these platforms run native compiled code? Why does the language
matter? I'm pretty sure Nmap runs on Android, but I'm not sure about
Zenmap.

Thanks for the ideas. I'm looking at this from the point of view of a
maintenance programmer, so naturally I'm going to resist big changes
like this. But sometimes change is good. Anyway, it's good to see
thought going into the future direction of the interface of Zenmap


Take a look at [1], the Native Development Kit for Android that allows the
use of native code in Android applications. I quote,

NDK will not benefit most applications. As a developer, you will need to
balance its benefits ... Typical good candidates for the NDK are
self-contained, CPU-intensive operations that don't allocate much memory,
such as signal processing, physics simulation, and so on."


So Nmap as a native code on Android might be possible (again, I don't have
much experience with this), but it is not a good idea. Also I had a talk
with the guys in #android-dev about this. They also shared the same
sentiment that you can do it, but it is not recommended and may not be
entirely possible. My point being: there has to be a shift in the code base
if you are to take Nmap to new platforms.

Likewise take the example of the iPhone. iPhone programs are written in
Objective C rather than C++. Of course we could package up the logic in C++
and call it from Objective C but there are always bound to be problems.

If you are worried about maintaining the code base, I think there should not
be much problem. After all, Nmap remains the same. We would just be adding a
GUI layer on top of it. And like I mentioned if Nmap has to go to newer
platforms, you have to do this.

Looking for your inputs after all I am a beginner and you are the real
Gurus!

--
Sukhbir

CC: Nmap-dev, David

References:

[1] http://developer.android.com/sdk/ndk/index.html
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: