-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathWigle-WiFi.py
89 lines (77 loc) · 4.05 KB
/
Wigle-WiFi.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import requests
import json
def load_config():
try:
with open('config.json', 'r') as f:
return json.load(f)
except FileNotFoundError:
print('Error: config file not found')
return None
def get_location(netid, config):
headers = {
'Authorization': 'Basic ' + config['api_auth']
}
url = 'https://api.wigle.net/api/v2/network/search?onlymine=false&netid=' + netid
response = requests.get(url, headers=headers)
if response.status_code != 200:
print('Error: ' + response.text)
return None
data = response.json()
if not data['results']:
print('Error: no results found')
return None
location = (data['results'][0]['trilat'], data['results'][0]['trilong'])
return location
def main():
config = load_config()
if not config:
return
while True:
print('-------------------------------------------------------------')
print('| . ...... |')
print('| . ,;;;;, .. ,;;;;;,. |')
print('| .;:: . ..;:;:; |')
print('| .;c,. ....... ..:;:; |')
print('| c;. . ,:loxxdxO OO0OOkxolod; |')
print('| .l; .:dOK0OO00O0O0 OkdxO0000OxokO: |')
print('| .c:. .;dk0KKKKKKK0Ok xxO0OddkO00k oodkk |')
print('| .o. lddOKKKKKKKKK dddx0KOkkdddxkOoo oldOc |')
print('| o . odddkKKKKKKKKK K00 0KKKKK0OxdddoooolloO. |')
print('| o. .lddddOKKKKKKK0O 0K KKKKKKOkxk0kddooo ollooO |')
print('| . ,ddddx0KKKKKKKKK0 k0 0 0K0OO0kddxddoooo llld0. |')
print('| c :ddddd0KKKKKKKKKKK 00 0 00kddddd ddd oooollllkd |')
print('| o, cdddddx0KKKKKKKKKKKkKKKK Oddddd dddddo oo kkkkd0 |')
print('| x. ;dddddddO0KKKKKKKKKKKKKK0k dddd ddddddooo okkkkkO |')
print('| d. .ddddddddOkKKKKK0OkOOkO0 ddddd dddddddddddkkkkkkk |')
print('| d. lddddddddkxk0KKKOddddd dOdddddddd ddddoooookkkkkkk |')
print('| o .dddddddddddkKK0ddddd ddxxdddddddddd doooookkkkkklO |')
print('| .c dddddddddddxOKKOddk0 dddxxkxdxddddddo oookkkkkccdd |')
print('| o ,dddddddddddddxkOO0K0 dddddddxkxddddoooo kkkkkcclO. |')
print('| .o. dddddddddddddddddxk0 0ddddddddddooooooo dddddccx. |')
print('| l..oddddddddddddddddddddO ddddkOxxxddddool kkkkkcdl |')
print('| .l.ooooddddddddddddddddddx xx000O00OOOOkk kkkkkcx |')
print('| .codooooooodddddddddddddooo O00OOOOOOkk kxxoco |')
print('| xkooooooooooooooooooooxkO OOOOOkkkkk xdodk |')
print('| xkdooooooooooooooodOOOOOOO kkkkkx ddxk |')
print('| .lkxokkkkkkkkkkkkkkkkkk kkxxx x dko |')
print('| cxkdkkkkkkkkkkkkxkk xxdd dddk. |')
print('| .xcxxcxxdddoodxkkk ooo |')
print('| |')
print('|-----------------------------------------------------------|')
print('| Wigle-WiFi --- WiFi-Access Point Trilateration Tool |')
print('|-----------------------------------------------------------|')
print('| 1. Get location |')
print('| 2. Exit |')
print('|-----------------------------------------------------------|')
choice = input(' Enter choice (1/2): ')
if choice == '1':
netid = input('Enter WiFi network MAC address: ')
location = get_location(netid, config)
if location:
print('Location: ' + str(location))
elif choice == '2':
break
else:
print('Error: invalid choice')
if __name__ == '__main__':
main()