Skip to main content

isemass

isemass is a Python CLI for mass operations related to Cisco ISE.

Current routines include:

  • coa: Perform CoA (Change-of-Authority) for multiple MAC addresses from an input text file, using Cisco ISE Monitoring Open API
  • swauth: Reauthenticate ISE sessions from NAD's directly over switch SSH

Requirements

This should work on Windows, MacOS, and Linux.

How to Install

You can use pip or pipx, but the preferred is to use uv. First, install uv on your system:

https://docs.astral.sh/uv/getting-started/installation/

Then install the tool simply with:

uv tool install isemass

Next, optionally, you can initialize generated config files:

isemass init

This creates:

  • settings.toml, which can be used to set configuration for the tool.
  • ssh_config, which swauth passes to Netmiko for Cisco switch SSH compatibility.

This is optional for coa, as the tool will run with all CLI arguments. For swauth, running isemass init is recommended so the Cisco SSH ssh_config file is available (needed for older switches).

Configuration Order

The tool with take priority of configuration inputs is this order:

  1. CLI arguments
  2. settings.toml values (if set)
  3. Backend defaults (set in defaults.py)

How to Use (coa)

First, you can see help for all options:

isemass coa --help

Here is a typical example of using the CoA routine:

isemass coa --input-file macs.txt --host ise-mnt.example.com --node ise-psn01

Notable mandatory fields are:

  • input-file: This input file contains MAC address in any cleaned or uncleaned text format. The tool will parse and find all MAC addresses automatically.
  • host: The main URL host to perform the Monitoring API. This is typically the MnT node. Use FQDN or IP.
  • node: The PSN node to run the CoA from. This can be any PSN node in the environment. Use short node name only (not FQDN or IP)

Also: to perform operations using the Monitoring APIs, the users must be assigned to one of the following Admin Groups and must be authenticated against the credentials stored in the Cisco ISE internal database (internal admin users):

  • Super Admin
  • System Admin
  • MnT Admin

How to Use (swauth)

First, you can see help for all options:

isemass swauth --help

Here is a typical example of using the switch reauthentication routine:

isemass swauth --input-file switches-and-macs.csv --username switch-admin

The input CSV must include these columns:

  • switch_address: Switch IP address, hostname, or FQDN.
  • mac_address: One MAC address in colon, dash, or Cisco dotted format.

Repeated switch_address values are expected. swauth groups MAC addresses by switch, opens one SSH session per switch worker, checks each MAC with show authentication sessions mac ... detail, and clears found sessions with clear authentication sessions mac ....

Release files for isemass 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isemass 0.4.0
File Size Uploaded
isemass-0.4.0.tar.gz 12.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for isemass 0.4.0
File Interpreter ABI Platform
isemass-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.3 kB

Release files / isemass-0.4.0.tar.gz

Download URL isemass-0.4.0.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0e6b275d491f8541cf22695c626adfa99266f053461ff8c6660c28e4aa03705a
BLAKE2b-256 checksum
How to use checksums
9ae7c2ce34fa0727f4cfb4bafa4ab6f069f382fdd029e951f27c63d1b8cd9489
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / isemass-0.4.0-py3-none-any.whl

Download URL isemass-0.4.0-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4686aef7daaeb070932a3eb93d2f8cd553367685ebe3e0f24e20af40ef51a968
BLAKE2b-256 checksum
How to use checksums
9081f22d18cd5ce93ac496b123ef2d474cfbe4666060fd0af09b8e89f49aec2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page