Giter Site home page Giter Site logo

rbrt-weiler / xiq-rest-bssidlister-go Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 33 KB

BssidLister connects to the REST API of ExtremeCloud IQ (XIQ), retrieves a list of managed Access Points along with associated BSSIDs and SSIDs and prints structured CSV to stdout.

License: University of Illinois/NCSA Open Source License

Go 95.93% Dockerfile 0.37% Shell 3.70%
extremenetworks extremecloud extremecloudiq xiq rest

xiq-rest-bssidlister-go's Introduction

XIQ REST BssidLister (Go)

BssidLister retrieves the list of Access Points and associated (B)SSIDs from ExtremeCloud IQ (XIQ) via the provided REST API and prints CSV to stdout.

Branches

This project uses two defined branches:

  • master is the primary development branch. Code within master may be broken at any time.
  • stable is reserved for code that compiles without errors and is tested. Track stable if you just want to use the software.

Other branches, for example for developing specific features, may be created and deleted at any time.

Dependencies

This tool uses Go modules to handle dependencies.

Running / Compiling

Use go run ./... to run the tool directly or go build -o BssidLister ./... to compile a binary. Prebuilt binaries may be available as artifacts from the GitLab CI/CD pipeline for tagged releases.

Tested with go1.16.

Usage

BssidLister -h:

Available options:
  -accesstoken string
    	Access token to authenticate with XIQ
  -clientid string
    	Client ID for authentication
  -clientsecret string
    	Client Secret for authentication
  -host string
    	XIQ Hostname / IP
  -ownerid string
    	Owner ID of the XIQ instance to use
  -redirecturi string
    	Redirect URI configured for used app
  -timeout uint
    	Timeout for HTTP(S) connections (default 5)
  -version
    	Print version information and exit

All options that take a value can be set via environment variables:
  XIQHOST           -->  -host
  XIQTIMEOUT        -->  -timeout
  XIQOWNERID        -->  -ownerid
  XIQACCESSTOKEN    -->  -accesstoken
  XIQCLIENTID       -->  -clientid
  XIQCLIENTSECRET   -->  -clientsecret
  XIQREDIRECTURI    -->  -redirecturi

Environment variables can also be configured via a file called .xiqenv,
located in the current directory or in the home directory of the current
user.

XIQ Hostname

In order for BssidLister to work, it is not possible to use extremecloudiq.com as the host to connect to. Instead, you must use the regional hostname of the XIQ instance you want to access.

After logging in to the XIQ instance you want to access with BssidLister, have a look at the hostname displayed in the address bar (for example fra.extremecloudiq.com or va2.extremecloudiq.com). This is the one you need for BssidLister.

Authentication

BssidLister uses the OAuth authentication model provided by XIQ's API. Authentication requires Client ID, Client Secret, Redirect URI, Owner ID and Access Token. You will need to access the Developer Portal and ExtremeCloud IQ in order to obtain all required pieces of information.

  1. Client ID, Client Secret and Redirect URL:
    • After logging in to the Developer Portal, click on Create new application. After creating the application, both Client ID and Client Secret will be provided.
    • Next, enter a Redirect URL for your application - which will be used as Redirect URI during authentication - and click on submit. Please note the the Redirect URL is only used for authentication by BssidLister, not for actual redirects.
  2. Owner ID: After logging in to the XIQ instance you want to access with BssidLister, hover over your name in the upper right corner and click on About ExtremeCloud IQ. The VIQ ID listed in the about window is the Owner ID.
  3. Access Token: After logging in to the XIQ instance you want to access with BssidLister, hover over your name in the upper right corner and click on Global Settings. Within the Global Settings, navigate to API Token Management. Create a new API Access Token with the plus sign and you will receive the required Access Token. Please note that the Client ID for the API Access Token must match the Client ID obtained in step 1.

Source

The original project is hosted at GitLab, with a copy over at GitHub for the folks over there.

xiq-rest-bssidlister-go's People

Contributors

rbrt-weiler avatar

Watchers

 avatar  avatar  avatar

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.