ipasnmatcher: Paquete Python para emparejar IP con ASN rápido

Recientemente se me ocurrió una idea para un sitio web que ofrecería funciones exclusivas para estudiantes de BRACU. Para restringir el acceso pensé en permitir solo direcciones IP asociadas a la red universitaria, y al investigar descubrí que cada organización conectada a Internet tiene un número ASN que actúa como identificador y agrupa rangos de direcciones IP. Por ejemplo, una organización con ASN 1234 podría tener el rango de IP 192.168.0.9–192.168.0.27, lo que significa que las IP desde 192.168.0.9 hasta 192.168.0.27 pertenecen a ese ASN.
Basado en esa idea desarrollé ipasnmatcher, un paquete Python sencillo que toma el ASN de una organización y comprueba si una dirección IP dada pertenece a los prefijos anunciados por ese ASN. Los números ASN y sus rangos de IP son información pública y se pueden consultar fácilmente, por ejemplo buscando BRACU ASN en Internet.
Características principales: coincidencia rápida de IP con ASN usando rangos optimizados; caché incorporado para minimizar llamadas a la API; modo estricto opcional para considerar solo prefijos activos; y datos precisos obtenidos de RIPE NCC. El paquete utiliza el API de RIPEstat para obtener los prefijos anunciados y almacena en caché los datos en .ipasnmatcher_cache/{asn}.json para usos posteriores.
Instalación: pip install ipasnmatcher. Ejemplo de uso básico: from ipasnmatcher import ASN y luego crear el objeto asn = ASN(asn=AS151981) y comprobar con asn.match(153.53.148.45) que devuelve True o False según corresponda. Uso avanzado: asn = ASN(asn=AS15169, strict=True, cache_max_age=7200) donde strict indica considerar solo prefijos activos y cache_max_age define la duración de la caché en segundos. Además es posible combinar objetos ASN con el operador + para verificar una IP contra varios ASN a la vez.
Casos de uso típicos: seguridad de red y validación de tráfico, enrutamiento de tráfico CDN según propiedad de ASN, clasificación de IP por operadores de red y auditoría o cumplimiento en conexiones de red. La coincidencia se realiza de forma eficiente con el módulo ipaddress de Python para comprobar si una IP pertenece a alguno de los prefijos anunciados.
Si te interesa extender o adaptar esta funcionalidad a proyectos corporativos o productos a medida, en Q2BSTUDIO somos especialistas en desarrollo de software a medida, aplicaciones a medida y soluciones de inteligencia artificial aplicadas a empresas. Podemos integrar comprobaciones de ASN y validaciones de red en soluciones personalizadas y seguras. Conoce nuestros servicios de desarrollo de software y aplicaciones a medida en desarrollo de aplicaciones y software multicanal y nuestros servicios de ciberseguridad y pentesting en ciberseguridad y pruebas de penetración.
También ofrecemos consultoría en servicios cloud AWS y Azure, inteligencia de negocio y Power BI, agentes de IA, IA para empresas y automatización de procesos para mejorar la fiabilidad y el rendimiento de tus sistemas. Palabras clave relevantes para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Contribuciones: si te gusta el proyecto, agradezco una estrella o un fork en GitHub. ipasnmatcher está pensado como una herramienta sencilla y eficiente para equipos de redes, seguridad y desarrolladores que necesitan validar o filtrar tráfico por ASN de forma fiable y escalable.
Comentarios