docs: update README.md

This commit is contained in:
cuqmbr 2022-08-23 14:12:35 +03:00 committed by GitHub
parent 2f1b2f42f6
commit 2ab9e7ce98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,23 +1,82 @@
# netxml2kml .netxml to .kml converter # netxml2kml .netxml to .kml CLI converter & tools
<!--## Features ## 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
--> ## Project preview
<!---## Project preview
<div style="display: flex;"> <div style="display: flex;">
<img src="" alt="" width="480" height="233" border="10" /> <img src="http://drive.google.com/uc?export=view&id=1LsLWYtvKkqxeFwEhixMzFx8mZ6FT-iI6" alt="" width="618" height="300" border="10" />
</div>--> </div>
<!--## How to install? ## How to install?
--> ### Download all-in-one executable
Download the latest executable suitable for your system at [Releases](https://github.com/cuqmbr/netxml2kml/releases) page
### Compile yourself
1. [Download](https://dotnet.microsoft.com/download) and install .NET Runtime or 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](https://docs.microsoft.com/en-us/dotnet/core/deploying/) page to learn more about deployment of .NET apps
NOTE:
- RID [runtime identifier](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog) of a targeted platform
- ~ project root directory
<!--## How to tweak this project for your own uses? <!--## How to tweak this project for your own uses?
--> -->
## 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](https://www.sqlitetutorial.net/) tutorial to learn more about various sql querying techniques
### Database schema
<pre>
/----------------------\
| 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 |
\----------------------/
</pre>
## How to contribute? ## How to contribute?
If you want to add a feature, you should follow these steps: If you want to add a feature, you should follow these steps:
@ -30,10 +89,12 @@ If you want to add a feature, you should follow these steps:
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! 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!
<!--## Known issues (Work in progress) <!--
## Known issues (Work in progress)
- The route management page will not load if database contains a route with an empty departure/arrival city date--> - The route management page will not load if database contains a route with an empty departure/arrival city date
-->
## Development status ## Development status
Prototype An early prototype for testing an idea out, fate of project unknown Released — Project is complete, but might receive some updates