Is there an endpoint or a way to see what wireless devices are connected using WPA1?

IDIVS
New here

Is there an endpoint or a way to see what wireless devices are connected using WPA1?

Hello, we would like to deprecate older security standards like WPA1 at our clients however in looking at the Rest API Documentation I don't see any endpoints or combination of endpoints where i can see what devices are connected to wifi via WPA1.  I actually don't see a way to get this info from the GUI in the Portal either.  Has anyone done anything like this and is there an endpoint I overlooked in the docs?  Or a report or section in the Web Portal I missed.


Thank You

3 Replies 3
RaphaelL
Kind of a big deal
Kind of a big deal

Hi ,

 

Sadly I'm pretty sure this is not possible via the API. You can retrieve the encryption level on each network / SSID , but can't find what the client is currently using.

rhbirkelund
Kind of a big deal

As @RaphaelL suggests, instead of traversing your networks for clients that are connected with WPA1, you could instead traverse alle the SSIDs that are configured with an encryption level that contains WPA1.

 

From the top of my head, you could do something like;

import meraki

## Assume MERAKI_API_ENV_KEY environment variable
dashboard = meraki.Dashboard()

OrgID = "xxx"

# Get Network IDs in Org
OrgNetworks = dashboard.organizations.getOrganizationNetworks(OrgID, total_pages='all')

# Initialise
NetworkSsids = []
NetworksWithOutdatedEncryption = []

for network in OrgNetworks:
    # Get SSIDs in network
    NetworkSsids = dashboard.wireless.getNetworkWirelessSsids(network) 

    # Traverse through SSIDs
    for ssid in NetworkSsids:
        tempDict = {}
        # Test if WPA1 is contained in the Encprytion mode
        if "WPA1" in ssid['wpaEncryptionMode']:
            # Store relevant parameters
            tempDict['networkid'] = network
            tempDict['ssid'].append(ssid['number'])
            NetworksWithOutdatedEncryption.append(tempDict)


# Update Encprytion standard
for network in NetworksWithOutdatedEncryption:
    UpdateSsid(network)
LinkedIn ::: https://blog.rhbirkelund.dk/

Like what you see? - Give a Kudo ## Did it answer your question? - Mark it as a Solution 🙂

All code examples are provided as is. Responsibility for Code execution lies solely your own.

I've updated the script a little.

 

import meraki

## Assume MERAKI_API_ENV_KEY environment variable
dashboard = meraki.DashboardAPI()

OrgID = "xxx"

# Get Network IDs in Org
OrgNetworks = dashboard.organizations.getOrganizationNetworks(OrgID, total_pages='all')

# Initialise
NetworkSsids = []
NetworksWithOutdatedEncryption = []

for network in OrgNetworks:
    # Test if network contains wireless
    if "wireless" in network['productTypes']:
        # Get SSIDs in network
        NetworkSsids = dashboard.wireless.getNetworkWirelessSsids(network['id']) 
        # Traverse through SSIDs
        for ssid in NetworkSsids:
            # Initialise temporary dictionary
            tempDict = {
                'networkId': None,
                'ssidNumber': []
            }
            # Test if WPA1 is contained in the Encprytion mode
            if 'wpaEncryptionMode' in ssid.keys() and ssid['enabled']:
                if "WPA1" in ssid['wpaEncryptionMode']:
                    # Store relevant parameters
                    tempDict['networkId'] = network['id']
                    tempDict['ssidNumber'].append(ssid['number'])
                    NetworksWithOutdatedEncryption.append(tempDict)
    else:
        continue


# Update Encprytion standard
for network in NetworksWithOutdatedEncryption:
    UpdateSsid(network)

 

LinkedIn ::: https://blog.rhbirkelund.dk/

Like what you see? - Give a Kudo ## Did it answer your question? - Mark it as a Solution 🙂

All code examples are provided as is. Responsibility for Code execution lies solely your own.
Get notified when there are additional replies to this discussion.