Este proyecto para mis estudios implementa una herramienta en C para Windows que permite:
-
Detectar adaptadores de red activos en el sistema.
-
Obtener la configuración IP del adaptador seleccionado:
- Dirección IP
- Máscara de subred
- Puerta de enlace
- DNS primario configurado
-
Medir la latencia del DNS primario mediante el comando
ping. -
Realizar un traceroute hasta el DNS primario utilizando
tracert. -
Generar un informe estructurado en formato XML con toda la información recopilada.
-
Mostrar un resumen por consola con los datos obtenidos.
- Lenguaje C
- Windows API (
windows.h) - Ejecución de comandos mediante
_popen() - PowerShell (
Get-NetIPConfiguration,Get-NetAdapter) - Herramientas de red (
ping,tracert) - Escritura de archivos XML
Se muestran los adaptadores activos utilizando PowerShell:
Get-NetAdapter | Where-Object {$_.Status -eq 'Up'}
El usuario selecciona uno manualmente.
Se recopilan:
- IP
- Máscara (convertida desde el prefijo)
- Gateway
- DNS principal
Mediante:
Get-NetIPConfiguration -InterfaceAlias 'NOMBRE'
Usando:
ping -n 4 DNS_IP
El código detecta tanto la palabra Media (español) como Average (inglés).
Se ejecuta:
tracert -d -h 30 DNS_IP
El programa interpreta:
- Saltos con tiempo
- Saltos con timeout (
* * *)
Se genera un archivo informe.xml con estructura como:
<InformeRed>
<Adaptador nombre="Ethernet">
<IP>192.168.1.35</IP>
<Mascara>255.255.255.0</Mascara>
<PuertaEnlace>192.168.1.1</PuertaEnlace>
<DNS>
<Servidor>1.1.1.1</Servidor>
<Latencia>12.50</Latencia>
<Traceroute>
<Salto numero="1">
<IP>192.168.1.1</IP>
<Tiempo1>1</Tiempo1>
<Tiempo2>1</Tiempo2>
<Tiempo3>1</Tiempo3>
</Salto>
</Traceroute>
</DNS>
</Adaptador>
</InformeRed>gcc main.c libreriaXML.h -o P4_CTE.exe
P4_CTE.exe
- Windows 10/11
- PowerShell instalado
- Conexión de red
- Permisos para ejecutar
ping,tracerty PowerShell
Cèlia Trullà Estruch para la Universidad Oberta de Catalunya y Jesuïtes Educació.