Este script monitorea las conexiones activas en puertos específicos de un servidor y envía un reporte detallado a un chat de Telegram. El reporte incluye información de las IPs conectadas, clasificadas por país, región, ciudad y proveedor de servicios de internet (ISP).
Las notificaciones se envian organizando las Ips automaticamente por paises, pudiendo filtrar los puertos que quieres.
- Monitorea conexiones en puertos comunes como
22
,445
,80
,443
, entre otros. - Clasifica las conexiones activas por país utilizando la API de IP-API.
- Envía un reporte detallado a un chat de Telegram cada 5 minutos.
- Python 3.x
- La librería
requests
(puede instalarse conpip install -r requirements.txt
). - Tener configurado un bot de Telegram y obtener un
TOKEN
yCHAT_ID
.
-
Clona este repositorio:
git clone https://github.com/FalconAkantor/GeoIpTelegram cd GeoIpTelegram
-
Instala las dependencias necesarias:
pip install -r requirements.txt
-
Configura las variables de entorno
TELEGRAM_TOKEN
yTELEGRAM_CHAT_ID
tienes que editar el archivoGeo.py
:
TOKEN = os.getenv("TELEGRAM_TOKEN")
CHAT_ID = os.getenv("TELEGRAM_CHAT_ID")
Al final del archivo podemos editar los puertos que queremos que se filtren:
ports = [22, 445, 80, 443, 1194]
Ejecuta el script para iniciar el monitoreo y envío de reportes a Telegram:
python3 geo.py