A Linux Python application to create maps of 802.11 networks
JavaScript Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



A simple 802.11 mapping application for Linux written in Python.





WiFiScanAndMap is a Python WiFi mapping application for Linux.

You can use it to scan areas for wireless networks, collect information about them and then generate a web page displaying these information on a map.

The application was created as an assignment for the “Wireless Networks And Mobile Communcations” course at the Computer Science Department of the Athens University Of Economics And Business, by:

  • Filia Dova
  • Georgios Migdos

The application consists of two programs, the scanner and the map generator.

The user runs the scanner on a mobile device (laptop/netbook) which collects information about the wireless networks within range. The program relies on iwlist output for the scanning process. After the user is done, they can save the collected information as an XML file.

The scanner can be run as a GTK+ application or as a command line application (with the –no-gui parameter).

This process can be repeated any number of times, resulting in a number of XML files. These XML files are used as the input of the map generator program which parses the XML files and produces an HTML web page.

The map data used is obtained from OpenStreetMap and the tiles are from Yahoo! Maps. The graph is displayed using the Bluff Javascript library.


To run the scanner you need:

  • A Linux system with wireless tools for Linux installed
  • Wireless card supporting scanning
  • GPS receiver
  • Python 2.6.4
  • gpsd (+python bindings)
  • PyGTK+ 2.16 (if you want to use the GUI)

To display the map you need:

  • A web browser supporting CSS with Javascript enabled
  • An active internet connection


You can run the scanner (GTK+ GUI) with the command :

    python scanner/scanner.py

You can run the scanner (GTK+ GUI) with the command :

    python scanner/scanner.py –no-gui

You can run the map generator with the command:

    python mapgenerator/mapgenerator.py <longitude> <latitude> <output directory> <input XML file 1> <input XML file 2> … <input XML file n>


  • <longitude> and <latitude> are the geographic coordinates of the resulting map’s original center
  • <output directory> is the directory where the result files will be saved
  • <input XML file 1> <input XML file 2><input XML file n> are the XML files generated by the scanner.