gonzosint / geowifi Goto Github PK
View Code? Open in Web Editor NEWSearch WiFi geolocation data by BSSID and SSID on different public databases.
Search WiFi geolocation data by BSSID and SSID on different public databases.
Hello! I'm going to package your tool for Parrot OS. It would be great if you can create release / tag versions so I can update upstream version automatically. Something like 0.1.0
or if you want to use date, it should be like 01.02.2022
.
P/s: According to #1, does this tool support checking API key that is saved in $HOME
? IMO it should be easier for users using this tool if the configurations are saved at $HOME/.config/
$docker run -it python bash
$git clone https://github.com/GONZOsint/geowifi.git && cd geowifi
$ python3 -m pip install -r requirements.txt
Successfully installed MarkupSafe-2.1.1 beautifulsoup4-4.11.1 branca-0.5.0 cachetools-5.2.0 certifi-2022.6.15 charset-normalizer-2.1.1 commonmark-0.9.1 folium-0.12.1.post1 google-3.0.0 google-api-core-2.8.2 google-api-python-client-2.58.0 google-auth-2.11.0 google-auth-httplib2-0.1.0 googleapis-common-protos-1.56.4 httplib2-0.20.4 idna-3.3 jinja2-3.1.2 numpy-1.23.2 protobuf-4.21.5 pyasn1-0.4.8 pyasn1-modules-0.2.8 pygments-2.13.0 pyparsing-3.0.9 pyyaml-6.0 requests-2.28.1 rich-12.5.1 rsa-4.9 six-1.16.0 soupsieve-2.3.2.post1 uritemplate-4.1.1 urllib3-1.26.12
$ python3 ./geowifi.py
Traceback (most recent call last):
File "/app/geowifi/./geowifi.py", line 8, in
from utils import searcher, mapper, vendorcheck
File "/app/geowifi/utils/searcher.py", line 8, in
from helpers import BSSIDApple_pb2
File "/app/geowifi/helpers/BSSIDApple_pb2.py", line 31, in
_descriptor.FieldDescriptor(
File "/app/geowifi-env/lib/python3.10/site-packages/google/protobuf/descriptor.py", line 560, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Traceback (most recent call last):
File "geowifi.py", line 954, in <module>
print_results_table(search_results)
File "geowifi.py", line 880, in print_results_table
if result['module'] != 'vendor_check':
KeyError: 'module'
They also provide a database, claiming 4bilion wifi APs.
BSSID lookup has free 100calls/day/IP plan, but has to be activated via support.
https://unwiredlabs.com/api
demo
import requests
url = "https://eu1.unwiredlabs.com/v2/process"
payload = "{\"token\": \"your_API_token\",\"radio\": \"gsm\",\"mcc\": 310,\"mnc\": 410,\"cells\": [{\"lac\": 7033,\"cid\": 17811}],\"wifi\": [{\"bssid\": \"00:17:c5:cd:ca:aa\",\"channel\": 11,\"frequency\": 2412,\"signal\": -51}, {\"bssid\": \"d8:97:ba:c2:f0:5a\"}],\"address\": 1}"
response = requests.request("POST", url, data=payload)
print(response.text)
request
{
"token": "API key",
"wifi": [{
"bssid": "00:17:c5:cd:ca:aa",
"signal": -51
}, {
"bssid": "d8:97:ba:c2:f0:5a"
}],
"address": 1
}
they say min 2 closeby bssid s are needed, not sure how strict that is
response
{
"status": "ok",
"balance": 100,
"lat": 39.56763197,
"lon": -105.00727917,
"accuracy": 10, // meter
}
Does anyone know is it possible to pass multiple BSSIDs to Apple?
It's not really documented API.
By adding
if __name__ == '__main__':
to geowifi.py
this would allow using it as a lib.
Hi, I'm OSINT beginner and student.
How Do i install a databases new in the case OpenWiFi ?
Thanks!
Hi, i just tried to install the software and i am getting this output:
> python3 -m pip install -r requirements.txt Exception: Traceback (most recent call last): File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/commands/install.py", line 249, in run with self._build_session(options) as session: File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/basecommand.py", line 66, in _build_session session = PipSession( File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/download.py", line 321, in __init__ self.headers["User-Agent"] = user_agent() File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/download.py", line 93, in user_agent zip(["name", "version", "id"], platform.linux_distribution()), AttributeError: module 'platform' has no attribute 'linux_distribution' Traceback (most recent call last): File "/home/kali/anaconda3/lib/python3.9/runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "/home/kali/anaconda3/lib/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/__main__.py", line 19, in <module> sys.exit(pip.main()) File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/__init__.py", line 217, in main return command.main(cmd_args) File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/basecommand.py", line 242, in main with self._build_session( File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/basecommand.py", line 66, in _build_session session = PipSession( File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/download.py", line 321, in __init__ self.headers["User-Agent"] = user_agent() File "/home/kali/anaconda3/lib/python3.9/site-packages/pip/download.py", line 93, in user_agent zip(["name", "version", "id"], platform.linux_distribution()), AttributeError: module 'platform' has no attribute 'linux_distribution'
python --version
Python 3.9.12
Hi,
Thanks for the great work.
Could it be that the google API isn't working anymore.
I followed your guide with the billed API creation but the script doesn't pull any information from google.
Second question:
Do you have a possibility to search for multiple BSSID's / SSID's in one time?
Thanky again.
best greetings
I run the script python3 geowifi.py -s SSID
I got [!] Error obtaining Wigle data
And thats the only output, howto debug?
Hi !
Thks a lot for your amazing work !
Do you think it would be possible to find SSIDs list by gps coordinates ?
Would love an option where if you have a GPS puck enabled in Linux it will display the distance from me in miles
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.