Nmap 6.49BETA4 on Android

I’m working on Android port of Nmap for quite some time now. It was some time ago I did port Nmap 6.47 to Android and you can find that Android binaries here:
http://seclists.org/nmap-dev/2015/q1/45

Almost same process as 6.46 was used to compile 6.47:
https://k0st.wordpress.com/2014/08/17/nmap-6-46-on-android/

In the meantime, 6.49BETA4 got released, so I’ve managed to cross compile the new version as well.

For those who just wants the binaries, they are here (binaries should work on Android 4+ out of the box):
https://s3.amazonaws.com/nmap-dl/nmap-android/nmap-6.49BETA4-android-arm-bin.tar.bz2
https://s3.amazonaws.com/nmap-dl/nmap-android/nmap-6.49BETA4-android-i686-bin.tar.bz2
https://s3.amazonaws.com/nmap-dl/nmap-android/nmap-6.49BETA4-android-mipsel-bin.tar.bz2

Or if you don’t want to bother with this all, you can download Network Mapper application from Play store at following URL:
https://play.google.com/store/apps/details?id=org.kost.nmap.android.networkmapper

Since, I’m using completely different approach in building it from the source, it’s worth mentioning major changes: binaries are now dynamically linked (due to DNS issues) and compiled with PIE support (due to Lollipop support). Dynamic linking is done against minimal number of libraries for DNS to work (mostly libc).

Building Android version of Nmap from the source

In order to build Android version of Nmap from the source, you will need Android NDK and Makefile/scripts available from the following URL:
https://github.com/kost/nmap-android

Just follow instructions from README.md file.

In order to build Android UI, you will need Android SDK and NetworkMapper source available from the following URL:
https://github.com/kost/NetworkMapper

Just import the project in Android Studio and build it from there.

Running binaries on previous Android versions

Since new binaries are compiled with PIE support and Android versions prior to version 4 did not support PIE – does that mean there’s no way to run these binaries on older systems? It’s not completely true. There is a way to run these binaries, but the process involves of compiling small snippet available at gist:

This small executable helps in running PIE executables where the linker doesn’t support PIE. So, for previous Android versions, you need to compile above gist and run nmap binary as following:


run_pie nmap_android_binary --version

References

http://seclists.org/nmap-dev/2015/q3/74
https://github.com/kost/nmap-android
https://github.com/kost/NetworkMapper
https://play.google.com/store/apps/details?id=org.kost.nmap.android.networkmapper

Advertisements

4 Responses to Nmap 6.49BETA4 on Android

  1. Fernando says:

    Hi, I’m having issues with this nmap version. Could you check the issues in the github repo?

    Thanks in advance.

  2. Hi there, will you update the binaries to version 7 at least? Thank you. 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: