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.