Thursday, 18 October 2007

Turning your N800 into a webcam with motion

Here's an excellent application for the rubbish camera in the N800. It's called motion, and some equally excellent chappie called konfoo announced on Internet Tablet Talk that he has compiled it for the N800. Nice work, konfoo fellah!

Once it's running, point your N800 at anything you want to monitor, and you can check out what the N800 is seeing, updated every few seconds, from Firefox or a Mozilla based browser over the Internet. That's because it has a built in web server on port 8081
It works like this "out of the box", and by the looks of things you can configure it to save photos when there's motion detected, take video and so on.

If you want to give it a go, download it here onto your computer. Then here's the method I used to get it going.

1. Open the zip file, and copy motion and motion.conf on to your external card using a USB connection.

2. Start Xterm, become root, then create a directory called motion in your home user folder:

# cd /home/user
# mkdir motion

then copy the two files you put on your external card into this new directory:

cp /media/mmc1/motio* /home/user/motion

(the * is a wildcard, and will copy both motion and motion.conf (and anything else you have in that location which starts with motio))

3. To start motion, go to the motion folder and type motion:

# cd /home/user/motion
# ./motion

4. Now open firefox or mozilla and type in the local lan address of your N800. Check out the pictures!

5. If you want to access the images over the Internet, make sure your N800 always gets the same local IP address, and make sure your router has a fixed IP address or that you have signed up with dyndns (check out the VNC post from a while back in this blog if you need to find out what all this means). Then simply forward traffic on port 8081 to your N800's LAN address.

Now leave your N800 in the living room and spy on your little brother/the babysitter/your roommates/ your wife / whatever... In fact, don't do that. Point it at yourself and let the world see you. If you're lucky you'll catch me writing this blog for a few days at Guess I am asking for my n800 to be hacked, but there we go.

Thursday, 13 September 2007

Sex up your N800 with ... Plankton.

Alright, so there's a limit to how sexy your Nokia N800 can be, and anyway, plankton is some type of fish isn't it?


Plankton is also one of the freshest, most attractive young themes available for your Internet tablet. And before your eyes glaze over at the shallowness of talking about themes, I'll just say that looks are important. When you pick up your N800 and look at the screen with one of Nokia's hideous themes, you see something functional but ugly.

Stick Plankton on it and your Nokia becomes an object of desire - something beautiful in its own right. It's the difference between an iPod and a Zune, or waking up next to Claudia Schiffer instead of some old boiler you met in the pub after six and half pints of 8 Ace. It's just better.

So, do yourself a favour, and download and install

hildon theme cacher

and then the

Plankton theme


Once you've done that, head over to the control panel (usually the third item in your Tools folder) and click on Themes. Then choose Plankton, and bask in the reflected glory of your gorgeous new baby. Now you just gotta hope no big hunk's going to steal it away from you.

Tuesday, 4 September 2007

Using your N800 and VNC to connect to your computer remotely

When you're away from your computer at home or work, it's great to be able to connect to it and operate it remotely. If it's a PC you can do this from another Linux, Windows or Mac computer using GoToMyPC or LogMeIn, but what about if you want to use your Nokia N800 to drive your machine remotely?

It's actually very simple, using an app called VNC Viewer running on your N800. You can download it by clicking here. Once you've downloaded it, open application manager and choose Application Install from file from the menu, and select the .deb file you just downloaded.

The next thing to do is get the VNC server software running on the machine you want to access. I recommend:
UltraVNC from for Windows (download it here)
Vine Server from Redstone software for OSX (you can download it here)
On Linux, check out one of the many VNC Server apps in your repos.

Once you've downloaded and installed the server software, you'll probably have to put in a password which you'll need to type in everytime you access the machine running the server software.

By default, VNC operates over port 5900, so you'll need to go to your router and set up port forwarding so that traffic arriving on port 5900 is forwarded to the machine running the VNC server software. For example, if the computer you want to be able to access remotely (and is therefore running the server software) has a local address of then you need to tell your router to forward traffic on port 5900 to the machine at

Of course, this is no bleeding good if the local IP address of your machine changes everytime it starts up, so you are going to have to ensure that it is always You can do that by giving it a fixed IP address, or going back to your router and adjusting the DHCP settings so that the machine in question always gets assigned the same IP address when it is switched on. This is sometimes called a reserved IP address.

Now, how do you access your machine remotely?

First of all, you need to make sure your N800 is connected to the Internet. Then, fire up VNC Viewer, and type in the name or IP address of your router.

The problem is that while if you are lucky your router will have been given a fixed IP address by your ISP, if you are unlucky it will have a dynamic IP address which changes each time it connects to the Internet. How do you know which you have? One way is to use your browser on the computer you want to access and go to This will tell you what your IP address is. Then disconnect your router, connect up again, and check again to see if your IP address has changed. If it has then tough luck - you've got a dynamic IP address.

Don't cry though - if you haven't got a fixed IP address you can get round this by going to and picking up a free host name which will always be updated to connect to whatever IP address your router happens to have been assigned by your ISP at any point in time.

So, now you are in a position to type in your router's IP address or host name (if you have a fixed IP address) or its dyndns name (like to connect to your computer.

You'll then be asked for the password you filled in earlier on the server, and with any luck in a few short seconds you'll see your computer desktop on your N800.

It's a bit bizarre the first time you see XP or OSX running on your N800, but don't worry - you'll soon get used to it.

Then fiddle around with it - you'll soon get the hang of using the viewer. If you click once on something and press the + key at the top of your N800 you'll perform a right click - the rest is fairly obvious.

Now how secure is this? Answer - I don't know for sure, but there's a very easy way to beef up the security, and that's to use VNC Viewer in conjunction with OpenVPN. If you establish an OpenVPN connection to your home machine first, you can then tell VNC Viewer to connect straight to that machine by putting in its OpenVPN network address. If you use the setup outlined in an earlier blog posting here you can connect by entering That way all your VNC traffic between your N800 and remote computer will be encrypted and as secure as a secure thing.

Can you access more than one computer on your network? Of course you can! Each has to be running its own copy of VNC Server, and each has to have a different port number or display number which you assign in the server software. So (assuming you are not using OpenVPN for a moment) one server is on port 5900, and the next is on 5901. By setting up port forwarding for these ports to different machines on your router, you can connect to your second machine by connecting to, for example.


Saturday, 25 August 2007

SIP on this - easy VoIP on your N800

In case it passed you by, there's an easy way to make standard SIP calls on your Nokia N800.

All you need to do is head for
to download Nokia's Internet Communications Software update and follow the instructions.

Once it's up and running you can load details of your existing SIP VoIP provider, and make calls to the PSTN using your N800. This is great for those people who's ISP give them free SIP minutes every month included in their Internet package, or those who already pay for a SIP based VoIP service and want to use it on their N800 as well.

OK, so it's been possible to make SIP calls from the N800 for a while now using Gizmo Project software, but lets face it, the Gizmo implementation on the N800 is rubbish. The first 10 seconds or so of every call are lost, and it all goes through Gizmo so if you are trying to do fancy stuff with SIP and Asterisk it didn't work anyway. And that interface! Oh, please!

Come to think of it, I haven't tried anything fancy yet using Nokia's SIP software, but it certainly works well for simple voice calls to the PSTN, which is good enough for me, and not bad for beta software. Now I can use my free SIP minutes on my N800, and then switch to Skype when they run out.

It's a shame that the Nokia address book is so feeble, but what the heck - free phone calls that work using the N800 can't be bad!

Friday, 3 August 2007

Using the aircrack-ng suite on the Nokia N800

Aircrack-ng is a suite of applications that together can crack most WEP keys. (In fact it can be used as part of a WPA attack too, but that's another matter.)

The main problem with the aircrack-ng suite on the N800 is that you can't do packet injection. This means that to crack a WEP key you have to wait around until enough traffic passes over the WEP protected link to crack the WEP key. If injection did work, you could effectively create the traffic you need yourself in a few minutes.

But you can use the suite on the N800 to crack WEP. Try this after installing aircrack-ng and wirelesstools. You can also get both (and possibly more up to date versions) from Collin Mulliner's repository, which you can get details of at

1. Start Xterm, and become root.

Then enter:
airodump-ng wlan0

This will show you what networks are around, and the MAC addresses of the access points and computers which are connected, and what channels they are operating on. Make a note of the channel of the access point you want to test (ie your own one)

(Note: A fault somewhere in the N800 - perhaps the wifi driver? - means that you'll also see some phantom access points that don't exist, and you may see access points mis-described as having WPA2 when in fact they are using WEP. Nothing you can do about that though. I think this is less of a problem or does not happen at all on the N770 but I have never tried it so I don't know for sure. )

2. Now quit airodump-ng by doing a control c , then restart it by typing

airodump-ng -c X -w mycapture --ivs wlan0

but change the X for the channel number of your access point. This will start capturing data which you will use to crack the WEP key, in a file called mycapture-01.ivs in your home directory

3. Now you have to wait for a while, till you have captured enough data to crack the WEP key. If the access point is busy then you might not have to wait too long.

Anyway, after an hour or so, you can try cracking it.


aircrack-ng mycapture-01.ivs

and hope for the best. Aircrack will try to crack the key, and if you have enough data captured it should crack the key eventually. If not, it will keep trying, as you gather more and more data, until you are successful (or never if you are unlucky, or if there is not enough traffic on the network)

The latest version of aircrack-ng (0.9.1) has been compiled for the N770 / N800 and this includes the new PTW wep attack. The PTW attack, which you activate by using the -z option when you use aircrack-ng, can crack keys with far far less captured traffic than the default attacks that aircrack-ng uses without the -z option, but sadly it only works on traffic captured as a result of a certain method of packet injection, and as the Nokias don't support packet injection you can't use it.

(If you want to test it on the N800, use a capture file generated by traffic injection using aireplay-ng, part of the aircrack-ng suite, from another computer. If you have such a capture file, say injection.cap, you can transfer it to the Nokia tablet and test it by typing:

aircrack-ng -z injection.cap

and you should get the key very swiftly indeed. The easiest way to do traffic injection is to get a laptop with a suitable wifi card, and then download the BackTrack2 iso, which you can burn onto a CD and run as a LiveCD. It has drivers patched for packet injection so it should work with supported cards "out of the box")

One more thing: think very hard before cracking someone else's access point as this probably illegal and could get you in trouble in many countries. Best stick to your own AP. You don't want to end up in chokey now do you?

Thursday, 2 August 2007

Aliases - using .profile to improve your life

Sick of typing

cd /home/user/MyDocs/.documents

every time you want to navigate to the documents folder on your Nokia N800 using xterm? Sick of typing any long commands?

The good news is you don't have to if you don't want to. You can easily create your own commands, or aliases, which carry out long command line operations like the one above.

All you need to do is create a text file called .profile, which you store in the home directory, /home/user/

In this file, you list your aliases, like this:

alias docs='cd /home/user/MyDocs/.documents/
alias home='cd /home/user/
alias cls='clear'
alias msfc='/home/user/framework-3.0/msfconsole'

and any other commands you want to make aliases for.

Once you restart xterm, (make sure it's the latest version), you'll have these commands at your disposal. In other words,



will execute the command

cd /home/user/MyDocs/.documents/

leaving you with more time to play golf, swim, search for the ultimate grits, or whatever else takes your fancy.

Which is nice.

How do you make a text file? There's lots of ways to do this, but one easy way is to download MaemoPad using the application manager.


1. Download MaemoPad and start it up

2. Go to File New to create a new file

3. Type in your aliases, as described above.

4. Save the file in your documents folder, giving it any name you like, such as aliases. You can't save a file in MaemoPad with a dot at the beginning of the name, so don't bother trying to name it .profile - it won't let you

5. Now we are going to move the file you just made into the /home/user directory, which is where it has to go, and rename it. Start up xterm, and type

mv /home/user/MyDocs/.documents/aliases /home/user/.profile

6. Pause to reflect that that was the last time you will ever have to go through the tedious process of typing "/home/user/MyDocs/.documents/" thanks to your new .profile file, restart your xterm, and go and have some healthy outdoor fun.

Friday, 27 July 2007

AutoScan 1.01 on the Nokia N800

The N800 makes a great portable network security device. Here's a nice easy to use tool to add to its toolbox.

It's called AutoScan (follow the link to download and get the Nokia 770 arm binary) and, not surprisingly, it's a scanner. What's cool about it is it sports a well classy GUI, so once it's taken a good look at your network it gives you a nice graphic view of what's connected, what OSes are running, and what ports are open.

Those familiar with AutoScan on an x86 system will know that AutoScan has plenty more features up its sleeve such as the ability to run Python and Perl scripts from within the app, but many of these advanced functions tend to freeze or are inaccessible on the N800.

Still, the basic functions work well and if you have a few idle moments and are sitting around with your N800 you can do a lot worse than run a quick AutoScan for a rough and ready guide to what's connected and, perhaps, vulnerable.

It's not a complete alternative to Nmap and it has its bugs in the N800, but it's still worth taking a look at if you're interested in network security...

Wednesday, 25 July 2007

Proporta Case for Nokia N800

It's a beautiful thing, the N800, but without a case to put it in it's pretty hard to carry it around. The screen is delicate and easily scratched or smashed. And the grey sock that Nokia provide as a cover is a complete joke.

There are lots of cases available, but here's a particularly good one - the Proporta Alu-Leather case.

The best thing about it is the flap that covers the N800's screen. The whole case is made of nice matt-black leather, but the screen cover has a ruddy great sheet of aluminium sandwiched between two layers of the cow-hide. This means you can chuck your N800 in your bag, jacket pocket, Scott eVest or wherever, secure in the knowledge that even if you or a fat friend sits on your N800 it won't get squashed.

Which has got to be worth the $34.95 / £26.95 that Proporta want for it. OK, it's not cheap, but it's leather, it looks nice, and it works. Function AND form. What more can you ask for?

Thursday, 19 July 2007

SVN for N800

There's a working SVN (Subversion) client for the N800. Only just found out about it. If you are lucky you can use it to update Metasploit from time to time.

Which is nice

You can grab SVN here:

To update Metasploit go to its folder and type:

svn update

Tuesday, 17 July 2007

A quick way to fire up OpenVPN on your Nokia N800

Here's a nice shortcut to start OpenVPN once you've got it installed, because life is too short to type endless commands into an N800. Basically, it uses a very simple shell script.

It assumes you've already installed becomeroot; if you haven't then go and install it straight away. It's simply the way to become root these days and everyone is using it.

The shell script itself is this:

/etc/openvpn/openvpn --config n800remote.ovpn

NOTE: if your OpenVPN config file is called something other than n800remote.ovpn then you will obviously need to edit this script to reflect that.


1. Download the script, called vpn, to the documents folder on your N800:


2. Transfer the file vpn to the /usr/bin/ folder on your N800 by starting up an Xterm window and typing
cd /home/user/MyDocs/.documents/
mv vpn /usr/bin/

3. Lastly, make sure the vpn script is executable by typing:
cd /usr/bin/
chmod 755 vpn

(You shouldn't need to do this step, but it doesn't hurt and it's good to get in to the habit.)

4. That's it! Now all you need to do to start OpenVPN is start an xterm window and become root by typing:

sudo gainroot

Then, from the # prompt, type


and OpenVPN will start up.

All thanks to the wonders of shell scripting! You Linux god, you.

Actually there are other, more efficient ways of doing this, but I just like scripting.

Sunday, 15 July 2007

Installing and running OpenVPN on the Nokia N800

Here's how to get OpenVPN up and running on your N800. Once you have done this you can use the Internet securely from any Internet connection you come across by tunnelling the connection to your home Internet connection. It took me ages to get OpenVPN working on my N800 - hopefully this will save you some time. So roll your sleeves up and let's get on with it....

Installing OpenVPN on your home computer

1. The first thing to do is to install OpenVPN on your home machine. This will be the OpenVPN server. You can download OpenVPN2 for Linux from

If you are using Windows at home I'd recommend installing the GUI version of OpenVPN2 instead, which you can download from:

2. The next bit is a bit tricky - you need to generate certificates and keys. Basically, since you are going to be encrypting stuff, you need these so that both your home computer (the server) and your N800 (the client) can encode and decode stuff they exchange.

The best way to do this is simply to follow the instructions at:

3. The final step is to make a configuration file for OpenVPN on your home computer. Use this one for a Windows system, by copying it into a text file, naming it n800.ovpn, and putting it in the config folder in your OpenVPN folder, which will be in Program Files. If you are using Linux, you'll have to change the ca.crt, server.crt and server.key paths to wherever they are meant to be stored - if you are smart enough to use Linux you'll figure it out, but I think it is /etc/openvpn/

#### config file start######

dev tun
proto udp

# Server and client IP and Pool
ifconfig-pool-persist ipp.txt

# Certificates for VPN Authentication
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key"

# This file should be kept secret
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"

# Routes to push to the client
#NOTE - you must
change below
# to your gateway address

push "route"

# route all traffic through vpn
push "redirect-gateway def1"

# Use compression on the VPN link

# change to a suitable DNS server (probably at your ISP)
push "dhcp-option DNS"

# Make the link more resistent to connection failures
keepalive 10 60

####config file finish######

To run the OpenVPN server from OpenVPNGui, start OpenVPNGui, right click in the icon in the system tray, go to N800, and click connect. In Linux, I think you need to navigate to the /etc/openvpn/ folder and run openvpn --config n800.ovpn

From memory, that should be working now. You'll get a whole sequence of messages, culminating in something like:

Mon Jul 16 08:09:18 2007 Initialization Sequence Completed

Configuring your router

For OpenVPN to work, your home PC is going to need to have the same local IP address all the time. The easiest way to do this is to find the option in your router to make a particular computer's IP address fixed. So if it has been assigned the IP address, click on the "fix" or "make static" button (or whatever else your router calls it) to ensure your computer is always assigned this IP address when it starts) This option can be hard to find, but is often in a section with a name like LAN management. If you can't find it, you'll have to set your computer up with a fixed IP address - if you don't know how to do this you can find out by Googling!

Now log in to your router, and find the page that says something like "Advanced Routing" or "Manual Routing."

You'll need to make the following entry:

Route name: OpenVPN
Destination LAN IP:
Subnet Mask:
Default Gateway: 192.168.X.X (change this to the IP address of your home computer)
Interface: LAN and Wireless

Save the changes you have just made, then find the page for Port Forwarding, and add this:

Name: OpenVPN
Protocol: UDP
Starting Port: 1194
End Port: 1194
Forward to: 192.168.X.X (change this to the IP address of your home computer)

Save changes and reboot your router.

Installing OpenVPN on your N800

Note: Become root before you do install and run OpenVPN

4. First of all, you are going to need three files. These were made available by Laurent Guerby - cheers Laurent, good work mate! - but to save his bandwidth you can download all three from here:

5. Now install openvpn_2.0-1maemo2_armel.deb. You can do this by going to the N800's application manager, finding the option to Install from file... on the Application menu , and clicking on 2.0-1maemo2_armel.deb in the location you just downloaded it to.

6. Do the same with liblzo1_1.08-3_armel.deb

7. Now you've installed these two files you need to overwrite the file called openvpn which is located in /usr/sbin/ on your n800 with the file called openvpn which you just downloaded. You can do this by going to the folder into which you just downloaded the file called openvpn in a terminal window and doing this command:

mv -f openvpn /usr/sbin/

8. You'll find that you now have a folder /etc/openvpn/ and that's the folder into which we now need to copy 4 files. These are the ca.crt, client.crt and client.key files you generated in step 2, and which should be on your server machine, and a config file which we will come to in a minute. (Note: they may be called client1.crt and client1.key or even client2.crt and client2.key)

So figure out a way to get the first three files off your server machine onto your N800. The easiest way may be to connect your N800 by USB and copy the 3 files onto one of the N800's memory cards. If you copy them to your external card, you can then go to a terminal window and do:

mv /media/mmc1/ca.crt /etc/openvpn/
mv /media/mmc1/client.crt /etc/openvpn/
mv /media/mmc1/client.key /etc/openvpn/

This will move the three files to /etc/openvpn/ - which is exactly where we want them!

7. Finally, you need a config file to put into /etc/openvpn/

To do this, download this config file onto your home computer:

Then you need to open the file in a text editor like notepad of kate, and edit it where indicated in the text of the file by adding your home IP address (if you have a fixed IP address.) If you have a dynamic IP address assigned by your ISP each time you connect to the Internet then don't worry - you can get round this by getting a free dyndns domain name from:

and putting it in instead of your home IP address.

Save the changes you have made to the n800remote.ovpn and close it, and then copy it to /etc/openvpn in the same way you did with the .crt and .key files

8. Nearly done. We're just about ready to go, except that you are going to have to tell your router to forward the packets that your N800 sends to your home IP address on port 1194 (the default OpenVPN port) to your home computer running OpenVPN.

How to do this will depend on what make of router you have, but basically you log on to your router, and there's probably an option for port forwarding, and you just enter port number (1194) and the IP address of the computer running OpenVPN (probably something like Save the changes and reboot the router for this to take effect.

9. Phew! That's it. you are ready to go. Make sure you are connected to the Internet from a remote location (ie not using your home Intenet connection) and open a terminal window. Make sure you are root, and type:
cd /etc/openvpn/
openvpn --config n800remote.ovpn

and if all went according to plan you'll see a load of stuff scroll down the screen, which will finish with:

Initialization Sequence Completed

The easiest way to check it is working as you expect is to fire up the N800 browser and go to:

If all is well, you'll get the IP address of your home computer, not the IP address of the Internet connection you are using.

Easy, wasn't it? Actually, don't be alarmed of it doesn't work first go. It took me four or five attempts before the darn thing would work. Read any error messages, and try and figure out what is wrong, or leave a question in the comments section.

Tuesday, 10 July 2007

Installing Metasploit Framework 3 on a Nokia N800

Here's a little step-through to get Metasploit running. Version 0.1

1. Download the framework 3 tarball from into a folder

2. use tar -xvzf to open the tarball. Metasploit is written in Ruby, so it doesn't need installing per se, but you will need a load of Ruby stuff in order to run it.... So here goes.

3. Head over to and download the .debs you'll find there into a new folder. (Actually you don't need to download the scapy .deb so you only need to download four)

4. Next, click on the gems folder on that page, which will take you to , and download the 7 .gem files.

Pause here to thank Pierre for his sterling work - cheers, French geezer!

5. Alright. Enough silliness. Here's where the hard work starts. Go to the N800's application manager, and on the Application menu find the option to Install from file..., and install ruby_1.8.5-p3_armel.deb and rubygems_0.9.2_armel.deb from the folder into which you just downloaded them.

6. At this point some sages suggest you update rubygems. If you want to do this, open a terminal window and type gem update --system. (Note: there's a space between update and --system. You may need to be root to do this, I can't remember)

7. OK. Now it's time to install the gems, and it it's rather important that you do so in the right order. That's because some people have reported that you'll bugger the installation if you get it wrong. Personally I have done it twice in the following order and had no problems, so I recommend you do so too.

What you want to do is go back to your terminal session, and go to the directory into which you downloaded the gems onto your N800. If you don't do this your N800 will try to get them off the Internet and fail. Now you're going to type gem install followed by the name of the gem you want to install.

So, first of all, type:
gem install activesupport-1.4.1.gem

Then go and have a cup of tea and a bun, because it takes about 10 to 20 minutes to install the gem plus its accompanying ri and rdoc files.

When you get back your command prompt, type

gem install activerecord-1.15.2.gem

repeat this gem install procedure for the following gems in the following order:


(thanks go to negen for publising this installation order)

If all goes well then welcome aboard - you're riding the rails!

8. A few more things to install: go to the App manager again and install from file the following debs you downloaded earlier:

9. Now you should be done, unless I have forgotten anything. Using your terminal, as root, head over to the folder where you put Metasploit - probably called something like framework3 inside a Metasploit3 directory, and run ./msfweb to run the web interface, or ./msfconsole for the console.

It all runs slooow on the N800, so be patient when waiting for thing to happen.

10. If you want to check out the auto_pwn feature you need to do this after having run ./msfconsole

>load db_sqlite3
>db_create pentest
(or evilhacker or any other name you want to use in place of pentest)
>db_nmap 192.168.0.* (or whatever network you want to test. You do have permission don't you?)

>db_autopwn -t

The -t option will just test the autopwn feature. Change that to -e if you want to carry out any possible exploits and face the consequences if you bring down any machines....

That's about it. I am bound to have forgotten something but I'll correct and update as necessary. Thanks to all the various people who left enough info on the web and especially Internettablettalk for me to compile this.

© Copyright 2007-2008