Descripción
Este proyecto es un proyecto de mis estudios dondé cree una aplicación en C para Windows que analiza una lista de servidores DNS, comprueba cuáles están accesibles y determina cuál es el más rápido mediante múltiples pruebas de ping. Luego, cambia automáticamente la configuración DNS del adaptador de red elegido utilizando PowerShell.
Características principales
✔ Lee una lista de DNS desde un archivo (DNSips.txt)
✔ Muestra los DNS actuales del adaptador de red
✔ Comprueba accesibilidad (ping) de cada servidor
✔ Calcula el DNS más rápido usando tiempo medio y TTL
✔ Configura automáticamente el DNS más rápido en el adaptador
✔ Totalmente automatizado mediante comandos PowerShell
Requisitos
- Windows 10/11
- Compilador C compatible (MSVC, MinGW, etc.)
- PowerShell habilitado en el sistema
- Permisos para modificar configuración de red
Formato del archivo DNSips.txt
Debe contener una IP por línea, por ejemplo:
8.8.8.8
1.1.1.1
9.9.9.9
208.67.222.222
Cómo usar la aplicación
-
Ejecútala:
P3_CTE.exe -
Cuando el programa lo pida, introduce la ruta del archivo
DNSips.txtEjemplo:C:\Users\TuUsuario\Desktop\DNSips.txt -
El programa mostrará el contenido del archivo.
-
Introduce el nombre del adaptador de red: Ejemplo:
Etherneto
Wi-Fi -
El programa:
- Comprobará qué DNS responden (ping)
- Guardará los accesibles en
temp_dns.txt - Hará pruebas de velocidad (media de 4 pings)
- Elegirá el mejor DNS
- Lo configurará automáticamente en el adaptador
Notas de Seguridad
- Cambiar el DNS requiere permisos de administrador
- El programa usa
system()y_popen()→ no introducir entradas no confiables - El archivo
temp_dns.txtse sobrescribe en cada ejecución
Posibles futuras mejoras
🔹 Añadir soporte para IPv6 🔹 Analizar pérdida de paquetes además de promedio de tiempo 🔹 GUI en WinForms o Qt 🔹 Logs con timestamps 🔹 Versión portable sin PowerShell (usando WinAPI)
Autores Cèlia Trullà Estruch para la Universidad Oberta de Catalunya y Jesuïtes Educació.