Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cisco ASA firewall operations via pyATS — VPN sessions, failover state, interfaces, routing, service policies, resource usage, AnyConnect monitoring. Use when checking ASA failover status, monitoring VPN sessions, auditing ASA security, or troubleshooting AnyConnect connectivity.
.claude/skills/automateyournetwork-pyats-asa-firewall/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 321% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 170% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 125% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 258% | 0% |
ASA devices in the pyATS testbed with os: asa:
yamldevices: asa-fw-01: os: asa type: firewall connections: cli: protocol: ssh ip: 10.0.0.10 port: 22 credentials: default: username: "%ENV{NETCLAW_USERNAME}" password: "%ENV{NETCLAW_PASSWORD}" enable: password: "%ENV{NETCLAW_ENABLE}"
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"asa-fw-01","command":"<command>"}'
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show version"}'
ASA software version, hardware model, serial number, RAM, flash, license, uptime, last reload reason.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show inventory"}'
Hardware inventory: chassis, modules, SFPs with serial numbers and PIDs.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show resource usage"}'
Per-context resource utilization: connections, xlates, hosts, NAT, routes, ACL elements. Critical for multi-context ASA — identifies contexts approaching resource limits.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show failover"}'
Failover state (Active/Standby), peer state, last failover time, failover reason, stateful failover stats. Check this first on any HA pair.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show failover interface"}'
Failover and stateful failover link status, IP addresses, hello interval, peer monitoring.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show interface ip brief"}'
Compact interface table: interface name, IP address, status (up/down), method.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show interface detail"}'
Full interface details: speed, duplex, MAC, input/output packets/bytes/errors, collision counts, CRC errors.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show interface summary"}'
Summary traffic stats per interface.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show nameif"}'
Maps physical interface names to security zone names (e.g., GigabitEthernet0/0 → outside, GigabitEthernet0/1 → inside). Shows security level per interface.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show route"}'
Full routing table: connected, static, OSPF, EIGRP, BGP routes with next-hop, interface, metric, age.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show arp"}'
ARP cache: interface, IP address, MAC address, age. Cross-reference with NetBox for MAC verification.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show asp drop"}'
Packets dropped by the ASP — categorized by reason: flow-drop, acl-drop, inspect-drop, rpf-violated, no-route, etc. Critical for troubleshooting — reveals why traffic is being blocked.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show context"}' pyats_run_show_command '{"device_name":"asa-fw-01","command":"show context detail"}'
Multi-context ASA: list all security contexts, allocated interfaces, resource class, admin state. detail shows interface allocation and URL mappings.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show traffic"}'
Per-interface traffic rates: input/output packets/sec and bytes/sec.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show service-policy"}'
Modular Policy Framework hit counts: class-maps, inspect actions, policing, shaping, QoS. Shows connection counts per policy.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn-sessiondb summary"}'
Summary of all active VPN sessions by type: AnyConnect, L2L, WebVPN, clientless, total sessions, peak concurrent.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn-sessiondb"}'
Full VPN session database — all types, user, duration, bytes, encryption.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn-sessiondb anyconnect"}'
AnyConnect SSL VPN sessions: username, duration, bytes tx/rx, IP assignment, tunnel group, encryption, NAC result.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn-sessiondb anyconnect sort inactivity"}'
AnyConnect sessions sorted by inactivity time — useful for identifying idle sessions consuming licenses.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn-sessiondb webvpn"}'
Clientless WebVPN sessions: user, duration, bytes, inactivity.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show vpn load-balancing"}'
VPN cluster load distribution across ASA peers — sessions per member, load percentage.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show crypto ikev2 sa"}'
IKEv2 Security Associations: peer, state (READY), local/remote IDs, encryption, PRF, DH group, lifetime.
bashpyats_run_show_command '{"device_name":"asa-fw-01","command":"show ip local pool vpn-pool"}'
VPN IP address pool usage: available, in use, range. Monitor for pool exhaustion — running out of addresses blocks new VPN connections.
show version → ASA version, model, uptime, last reload
→ show failover → HA state (Active/Standby), peer health
→ show interface ip brief → interface up/down state
→ show resource usage → context resource utilization
→ show asp drop → dropped packet analysis
→ Severity-sort → GAITshow vpn-sessiondb summary → total sessions by type, peak concurrent
→ show vpn-sessiondb anyconnect → active AnyConnect users
→ show vpn-sessiondb anyconnect sort inactivity → idle sessions
→ show ip local pool vpn-pool → address pool utilization
→ show vpn load-balancing → cluster distribution
→ show crypto ikev2 sa → IKEv2 tunnel state
→ Flag: pool > 80% used, sessions near license limit, idle > 8h
→ GAITshow failover → verify Active/Standby state
→ show failover interface → failover link health
→ show interface ip brief → all interfaces match expected state
→ show route → routing table consistent with active role
→ show vpn-sessiondb summary → VPN sessions present on active unit
→ GAITshow version → verify supported ASA version (cross-reference NVD CVE)
→ show asp drop → analyze drop reasons for anomalies
→ show service-policy → policy hit counts, inspect actions
→ show context detail → verify context isolation (multi-context)
→ show traffic → per-interface throughput baseline
→ GAITshow vpn-sessiondb anyconnect → verify user session exists
→ show crypto ikev2 sa → IKEv2 tunnel established?
→ show interface ip brief → outside interface up?
→ show route → default route present?
→ show ip local pool vpn-pool → addresses available?
→ show asp drop → packets being dropped for this flow?
→ show service-policy → inspect policies blocking traffic?
→ GAITRun ASA health checks across multiple firewalls concurrently:
bash# ASA Pair - Primary PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"asa-fw-01","command":"show failover"}' # ASA Pair - Secondary PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"asa-fw-02","command":"show failover"}' # Remote Site ASA PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"asa-remote-01","command":"show failover"}'
| Skill | Integration | |-------|-------------| | pyats-network | Core pyATS commands for IOS-XE/NX-OS devices alongside ASA firewalls | | pyats-security | CIS benchmark-style audits complement ASA-specific security checks | | pyats-parallel-ops | pCall pattern for fleet-wide ASA health checks | | fmc-firewall-ops | FMC manages FTD; ASA is managed directly — different platforms, similar mission | | ise-posture-audit | ISE NAC results correlate with ASA VPN session NAC status | | netbox-reconcile | Cross-reference ASA interfaces, IP assignments with NetBox | | nvd-cve | Scan ASA version against NVD vulnerability database | | servicenow-change-workflow | Gate ASA config changes behind ServiceNow CRs | | gait-session-tracking | Every ASA command logged in GAIT |
configure terminal or write memory via this skillOther measured skills in the registry, with their headline benchmark lift.