Get wireless clients capability

Johan_Oosterwaa
Getting noticed

Get wireless clients capability

I'm working for an organization with a large number of Meraki networks and a massive amount of Meraki access-points.

and we want to create an overview of the capabilities(802.11b/g/n, ac or ax) of the wireless clients. 

 

is there an easy way to get that with an API/Python script? 

 

 

 

 

6 REPLIES 6
rwiesmann
A model citizen

Hi, 

 

did you check the API documentation?

https://documenter.getpostman.com/view/7928889/SVmsVg6K?version=latest#3cd68da0-6f00-44e1-9773-4b177...

 

Under clients there is a call "getNetworkClient" which includes wireless capabilities.

 

hope this helps

roger

Hi,

 

Yes checked the API documentation and seen the getNetworkClient.

But i was wondering i someone could help me with a python script which can go through the network

and find all wireless clients.

 

i'm new to python.

 

Thanks

 

 

 

Edgar-VO
Building a reputation

Hi....

Here a small piece of python

You can tweak the param to you liking....(timespan, pages etc)
For large networks it takes long to run
 
Basic is : Walk through your network. Get the clients .Use that client id to get the specific capability
 
 
import meraki
api_key = 'APIKEY'
 
dashboard = meraki.DashboardAPI(api_key)
my_org = dashboard.organizations.getOrganizations()

for org in my_org:
        print(f'\nAnalyzing organization {org["name"]}:')
        org_id = org['id']
 
my_networks = dashboard.networks.getOrganizationNetworks(org_id)

for my_network in my_networks:

    param = {}
    param['timespan'] = 3600

    try:
        my_clients = dashboard.clients.getNetworkClients(my_network['id'],total_pages=alldirection='next',**param)
        for my_client in my_clients:

            client_id = my_client['id']

            try:
                my_client_cap = dashboard.clients.getNetworkClient(my_network['id'],client_id)
                print ("Client : "+my_client['description']+" Capabilities : "+my_client_cap['wirelessCapabilities'])
            except:
                pass
    except:
        print ('Network '+my_network['name']+" no clients")

Thank you i will take a loot at this.

Yes it is working and find the correct items i need. Only it is sending debug information as well.
How can i disable the debug log?

I know that feeling.... i wanna get rid of it too..... 

If you find a solution to that... please share

 

Get notified when there are additional replies to this discussion.