-
Notifications
You must be signed in to change notification settings - Fork 0
/
meraki_network_clients
47 lines (35 loc) · 1.21 KB
/
meraki_network_clients
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
import meraki
import time
import pandas as pd
header = False
def store_id():
API_KEY = 'api key'
org_id = 'organization ID'
dashboard = meraki.DashboardAPI(API_KEY)
n = dashboard.organizations.getOrganizationNetworks(org_id, total_pages='all')
stores = []
for e in n:
s = e['id'], e['name'], e['tags']
stores.append(s)
devices = []
for id in stores:
time.sleep(1)
try:
result = dashboard.networks.getNetworkClients(id[0], total_pages='all')
except:
pass
for e in result:
try:
if 'SSID' in e['ssid']:
dev = id[1], e['description'], e['ip'], e['mac'], e['os'], e['status'], e['ssid']
devices.append(dev)
print(dev)
df = pd.DataFrame([dev], columns=[
'Store', 'Description', 'IP', 'Mac Address', 'OS', 'Status', 'SSID'])
if header == True:
mode = 'w'
else:
mode = 'a'
df.to_csv('clients_ssid.csv', mode=mode, header=header, index=False)
except: e['ssid'] = None
store_id()