Giter Club home page Giter Club logo

meraki-bssid-dump's Introduction

published Run in Cisco Cloud IDE

Meraki BSSID Dump

๐Ÿ” This project, 'Meraki BSSID Dump', is a Python script created to export BSSID (Basic Service Set Identifier) information from an organization's Meraki wireless networks. The primary use case is to retrieve BSSID details for manual import into geolocation data services (e.g. e911). It provides network and facility administrators with a simplified method to gather bulk BSSID information.

CSV file example output:

Device Name BSSID SSID Name Band
Device1 00:11:22:33:44:55 Network1 2.4GHz
Device1 66:77:88:99:AA:BB Network1 5GHz
Device2 CC:DD:EE:FF:00:11 Network2 2.4GHz

The document "Calculating Cisco Meraki BSSID MAC Addresses" offers a comprehensive guide on how BSSID MAC addresses are computed for Cisco Meraki access points. Each SSID is represented by a unique BSSID, which helps clients identify the associated access point. The BSSID addresses are derived from the wired MAC address, with calculations based on the MAC OUI. Different MAC OUIs for various access point models determine the adjustments for 2.4 GHz and 5 GHz bands. The BSSID values are assigned to each radio and SSID, with up to 15 possible BSSID combinations per radio.

Technology Stack

๐Ÿ”ง The script is written in Python and utilizes the Meraki DashboardAPI to interact with the Meraki cloud. Python was chosen for its simplicity and the comprehensive support provided by Meraki's Python SDK.

Status

โœ… The current version of the script is stable (1.0), but updates and improvements may be implemented as needed.

Use Cases

๐ŸŽฏ The script's primary use case is to export BSSID details for e911 services location data. However, it can also be beneficial for large enterprises such as colleges and hospitals. Here are a few additional use cases:

  • Colleges and Universities: In a college or university environment, the script can help network administrators identify and manage BSSIDs across multiple campuses, buildings, and access points. This information can be useful for optimizing network performance, monitoring network utilization, and ensuring proper coverage across campus areas.

  • Hospitals and Healthcare Facilities: For hospitals and healthcare facilities with complex network infrastructure, the script can assist in monitoring and managing BSSIDs. It allows network administrators to track the performance of wireless networks in different areas within the facility, ensuring critical connectivity for medical devices, patient monitoring systems, and staff communication.

  • Enterprise Networks: In large enterprises with multiple branch offices and locations, the script can provide network administrators with a consolidated view of BSSID details across the organization.

Installation

To install and use the script:

  1. Clone the repo using the following command:
git clone https://github.com/shantarsecurity/meraki-bssid-dump.git
cd meraki-bssid-dump
  1. Install the meraki package:
pip3 install meraki

Configuration

Before running the script, make sure to replace 'Your Meraki API Key' in the script with your actual Meraki Dashboard API key.

Usage

To execute the script, use the following command:

python3 meraki-bssid-dump.py

The script will generate a bssid.csv file in the same directory, containing the fetched BSSID details.

Known Issues

โš ๏ธ Running the script on networks with a large number of devices may take some time due to the rate limit imposed by the Meraki API. It is advised to run the script during off-peak hours or schedule it accordingly.

Future Improvements

๐Ÿ”ฎ Future versions of the script may include added features such as a progress display, filtering options, and customized output formats.

Contributions

๐Ÿค Thanks to Matt Giepert for the bulk of the starting code! Future contributions are welcome! If you have any ideas or improvements, feel free to fork the project and submit a pull request.

License

๐Ÿ“œ This project is licensed under the GPL-3.0 license. For more information, please refer to the LICENSE file.

meraki-bssid-dump's People

Contributors

shantarsecurity avatar

Stargazers

 avatar  avatar

Watchers

 avatar

meraki-bssid-dump's Issues

TypeError: sequence item 0: expected str instance, NoneType found

Running macOS 14.3.1 on ARM, with official Python 3.12.2 installed from python.org

The script starts to run for me, but on the third AP, it errors out with this console text:

    Processing AP device: XXXX-XXXX-XXXX...
      Processing BSSID: XX:XX:XX:XX:XX:XX...
Traceback (most recent call last):
  File "/Users/myusername/Documents/meraki/meraki-bssid-dump/meraki-bssid-dump.py", line 29, in <module>
    file.write(f"{','.join(list)}\n") 
                  ^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.