¿Es una exploración de red la única forma de saber si una dirección IP es un servidor SQL? ¿Cómo puedo verificar esto al 100%?
¿Es una exploración de red la única forma de saber si una dirección IP es un servidor SQL? ¿Cómo puedo verificar esto al 100%?
La dirección IP es solo un identificador de ubicación de una máquina, no discrimina en cuanto al tipo de servicio que se ejecuta en la máquina ni la IP indica directamente el tipo de máquina. Esto es como darle a alguien una dirección de calle, podría ser un negocio, una casa, incluso un apartado de correos, pero generalmente no tiene forma de saberlo hasta que lo vea en persona o aprenda más sobre él (el apartado de correos es generalmente bastante obvio ).
Puede tener una máquina dedicada que ejecute mySQL o algún otro tipo de servicio de SQL como base de datos y que sea su único trabajo, pero esto no significa que la IP sea y siempre será un servidor SQL.
Una forma de ayudar a determinar la función de la máquina es ejecutando un escaneo completo de puertos para determinar los puertos abiertos en la máquina. Algo como nmap -sU -sT -p- <target_ip>
produciría un escaneo de puertos completo. Una vez que descubrió los puertos abiertos (digamos que encuentra 3306 abiertos, que es el valor predeterminado conocido del servicio MySQL), puede realizar una enumeración adicional y determinar los servicios que se ejecutan detrás de estos puertos.
Como se mencionó en esta publicación , es importante tener en cuenta, sin embargo, que solo porque un puerto asociado a un servicio específico responde al escaneo (ya sea abierto, cerrado, filtrado, etc.), no significa que el servicio asociado sea el servicio real en ejecución. Aquí es donde se necesita una mayor enumeración e incluso una interacción para saber con certeza con qué servicio está tratando.
Siempre puedes intentar conectarte con el cliente SQL. Utilice las herramientas de cliente de SQL Server o pruebe el cliente de Python a continuación.
Usando python haz un pip install mssqli-cli
mssql-cli -S <server IP> -U <user name> -d <database name>
Lea otras preguntas en las etiquetas nmap