rir_network_health
Check network health by analyzing IP addresses, prefixes, or ASNs for RDAP ownership, BGP announcements, RPKI validity, and PeeringDB data to identify security risks and operational issues.
Instructions
Run a comprehensive parallel health check on any IP address, prefix, or ASN.
Fires all checks simultaneously (parallel asyncio): RDAP → Who owns it? Which RIR? Country? Abuse contact? BGP → Is it announced? Which ASNs? What global visibility %? RPKI → Is the announcing ASN cryptographically authorized? (prefix only) PeeringDB → Peering policy? NOC email? IXP count? (ASN only)
Synthesises a health signal dashboard: ✅ All good — registered, announced, RPKI valid ⚠️ Warning — not announced, unprotected route (no ROA), missing contacts 🚨 Critical — RPKI invalid (possible hijack!), multiple origin ASNs (MOAS)
This is your first-response tool for:
"Is this IP address legitimate?"
"Is this ASN healthy and reachable?"
"Is there anything suspicious about this prefix?"
NOC incident triage, security team first-response
Results are cached for 5 minutes (includes live BGP data).
Args: params (NetworkHealthInput): - resource (str): IP ('1.1.1.1'), prefix ('1.1.1.0/24'), or ASN ('AS13335') - response_format (str): 'markdown' (default) or 'json'
Returns: str: Health signal dashboard + RDAP + BGP + RPKI + PeeringDB sections. JSON schema: { "resource": str, "resource_type": str, "queried_at": str, "rdap_holder": str, "rdap_rir": str, "rdap_country": str, "bgp_announced": bool, "bgp_announcing_asns": [str], "bgp_visibility_pct": float, "rpki_validity": str, "peering_policy": str, "peering_ixp_count": int, "health_signals": [str], "errors": [str] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |