Giter VIP home page Giter VIP logo

netxml2kml's Introduction

netxml2kml – .netxml to .kml CLI converter & tools

Features

  • Convert .netxml files from programs like Kismet or Airodump-ng to easelly viewable on map .kml files
  • Save wireless networks with wireless connections (clients) releated to them to the sqlite database
  • Concatenate multiple .kml files
  • Filter input/output data using sql queries

How to install?

Download all-in-one executable

Download the latest executable suitable for your system at Releases page

Compile yourself

  1. Download and install .NET SDK >= 6.0
  2. Clone this git repository: $ git clone https://github.com/cuqmbr/netxml2kml.git
  3. Compile (deploy) the app: [~/netxml2kml]$ dotnet publish -c Release -r <RID> --self-contained true

Reference this page to learn more about deployment of .NET apps

NOTE:

Cammand examples

  • Convert .netxml to .kml: $ netxml2kml -i *path_to_netxml_file* -o *path_to_output_file*
  • Add wireless networks with related wireless connections (clients) to database: $ netxml2kml -di *path_to_netxml_file*
    • Additionally you can filter input data: $ netxml2kml -di *path_to_netxml_file* -q *sql_query*
  • Retrieve wireless networks with related wireless connections (clients) from database: $ netxml2kml -do *path_to_output_file*
    • You can filter output data similarly to filtering input data: $ netxml2kml -do *path_to_output_file* -q *sql_query*
  • Concatenate multiple .kml files: $ netxml2kml -c *pathes_to_kml_files_separated_by_spaces* -o *path_to_output_file*

SQL querying reference

This section will help you to understand database structure the program uses ang give you examples of filtering input/output data using SQL queries

Example SQL queries

Select wireless networks where:

  • column name matching some pattern: SELECT * FROM WirelessNetworks WHERE *column name* LIKE '%*pattern*%'

  • clients with a specific manufacturer has been spotted:

SELECT WN.* FROM WirelessNetworks AS WN
  INNER JOIN WirelessConnections AS WCo ON WN.Bssid = WCo.WirelessNetworkBssid
  INNER JOIN WirelessClients AS WCl ON WCl.Mac = WCo.WirelessClientMac
WHERE WCl.Manufacturer LIKE '%*manufacturer*%'

Reference this tutorial to learn more about various sql querying techniques

Database schema

/----------------------\                                                                         
|   WirelessNetworks   |                                                                         
|----------------------|                                                                         
|    PK Bssid TEXT     |1-\  /--------------------------------------\     /---------------------\
|      Essid TEXT      |  |  |          WirelessConnection          |     |   WirelessClients   |
|  Manufacturer TEXT   |  |  |--------------------------------------|     |---------------------|
|   Encryption TEXT    |  \-∞|      /- FK WirelessNetworkBssid TEXT |  /-1|     PK Mac TEXT     |
|  FrequencyMhz REAL   |     | PK -|                                |  |  |  Manufacturer TEXT  |
| MaxSignalDbm INTEGER |     |      \- FK WirelessClientMac TEXT    |∞-/  |  FirstSeenDate TEXT |
|   MaxLatitude REAL   |     |            FirstSeenDate TEXT        |     | LastUpdateDate TEXT |
|  MaxLongitude REAL   |     |           LastUpdateDate TEXT        |     \---------------------/
|   MaxAltitude REAL   |     \--------------------------------------/                            
|  FirstSeenDate TEXT  |                                                                         
| LastUpdateDate TEXT  |                                                                         
\----------------------/                                                                         

Data storage folder

Acording to this website program data (database and logs) are stored in netxml2kml folder at:

  • Linux: /home/$USER/.local/share
  • OSX: /Users/$USER/.local/share
  • Windows: C:\Users%USERNAME%\AppData\Local

How to contribute?

If you want to add a feature, you should follow these steps:

  1. Fork the project
  2. Make some changes and commit them with conventional commit message
  3. Submit a PR with a new feature/code

Find a bug?

If you found an issue or would like to submit an improvement to this project, please submit an issue using the issues tab above. If you would like to submit a PR with a fix, reference the issue you created!

Development status

Released — Project is complete, but might receive some updates

netxml2kml's People

Contributors

cuqmbr avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.