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.
Welcome to the Meraki Community!
To start contributing, simply sign in with your Cisco account. If you don't yet have a Cisco account, you can sign up.