Whireshark CMD
Whireshark CMD
Whireshark CMD
powershell
Por ejemplo, en una red de telefonía móvil, cuando enciendes el teléfono, éste busca la red
y lanza un mensaje para informar que se quiere registrar y quedarse operativo. La estación
base recoge el mensaje y lo traslada al la controladora de estaciones base, de ahí pasa a la
parte de núcleo de red, se genera una consulta al registro de tarjetas SIM, otra consulta al
registro de IMEIs, se inicia un proceso de intercambio de claves de cifrado, y si todo es
correcto, la red determina que el teléfono queda operativo y el móvil recibe una respuesta
confirmando el registro.
Hasta el momento todos los mensajes son de control. Cuando el terminal queda encendido,
el usuario ya puede hacer uso de él. Por ejemplo si quiere hacer una llamada, al marcar el
número, se enviará un mensaje tipo SETUP con el número del cliente de destino, y al
núcleo de red analizará la numeración, buscará al otro terminal en su zona geográfica y
lanzará una búsqueda que el otro terminal tendrá que responder, Una vez completado el
proceso de control se establecerá el camino para transportar la voz.
Si lo que queremos es hacer una conexión a internet el teléfono enviará una solicitud de
activación de contexto de paquetes, y la parte de núcleo establecerá el camino para salir
por los enrutadores hacia la red.
En cada interfaz y por cadas tecnología, 2G, 3G, 4G, 5G hay infinidad de protocolos para
que los subsistemas se entiendan, independientemente de si el teléfono de Samsung y la
red de de Ericsson, o si el núcleo es de Nokia y el buzón de voz de Huawei.
Con los protocolos de internet ocurre exactamente lo mismo, de hecho muchos de ellos
también se usan en la red móvil, como es lógico.
El sistema OSI establece siete capas o niveles, de forma que la capa inferior empaqueta
protocolos de capa superior. Es decir, raramente los protocolos van aislados. Por ejemplo lo
que llamamos TCP/IP, en realidad es una torre de niveles.
- Primero está el nivel físico, que puede ser el cable o un interfaz de radio WIFI.
- Luego va el nivel de enlace. Se establece un enlace entre el equipo y el router con
una trama ethernet o WIFI, que no es más que un caso particular de ethernet. En el
nivel de enlace se usan las direcciones físicas o direcciones MAC de los puertos de
red.
- Por encima de la trama ethernet se monta el nivel de red, con el protocolo IP. El
protocolo IP se encarga de encaminar los paquetes por la red, para eso se usa la
dirección IP de destino, y la de origen para saber el camino de vuelta.
- Por encima está el nivel de transporte y el protocolo en este caso es TCP, que se
encarga de establecer una conexión entre origen y destino para relacionar y ordenar
los paquetes IP que en principio viajan solos.
- Por encima del nivel de transporte, a menudo no hay más niveles hasta en nivel de
aplicación, por ejemplo DNS o HTTP.
En la tabla siguiente vemos una muestra de los principales protocolos de internet y de otros
ámbitos de telecomunicación.
Otros protocolos que podemos ver en wireshark, que no aparecen en la tabla son:
- Consulta a DNS. La consulta a DNS sirve para “resolver” nombres de dominio a IPs,
IPs a nombres de dominio y para redireccionar nombres de dominio. Veremos un
mensaje tipo “standard query” para la pregunta y “standard query response” para la
respuesta.
Ejemplo tipo A
Ejemplo PTR
Ethernet usa las direcciones MAC como origen Src y destino Dst
IP usa las direcciones IP como origen y destino.
UDP indica el puerto de origen y destino. Importante para DNS es el 53
DNS transporta el nombre de dominio IP que queremos consultar. Lo vemos si hacemos
click en el desplegable de la izquierda de Domain Name.
Ya sabemos que una consulta a DNS va por UDP puerto 53, por lo que si queremos filtrar
para ver solo el protocolo DNS pondremos:
udp.port==53
Otra cosa que podemos ver es la descarga fallida de una página HTTP. Podemos filtrar por
tcp.port==80. Primero se establece la conexión TCP. Posteriormente se envía una HTTP
GET, solicitando la página, pero el servidor que la alojaba nos manda el error 404 y un
pequeño HTML para indicar que hay un fallo.
En HTTP la información va sin cifrar, por lo que podemos ver el código HTML que compone
la página siguiente.
Comandos interesantes:
ASIGNACIÓN DE IP
Pongo el portátil en modo avión y miro la configuración de red con ipconfig. Veo que no
tiene IP asignada.
Filtro en wireshark con el filtro “dhcp” y activo wifi. Se produce una solicitud de IP con el
protocolo DHCP. En un mensaje IP con direcciones ficticias. Encima se empaqueta UDP
con el puerto 67, y por encima DHCP que es el protocolo de configuración dinámica de IPs.
QUÉ ES PING
“ping” es un comando que sirve para ver si un servidor está “vivo” y cuánto tarda en
responder.
Podemos verlo en directo en wireshark, mientras lo pedimos. Filtramos por “icmp” y
mandamos un ping a un servidor. Por ejemplo a google. En la consola veremos que envía
cuatro paquetes. En wireshark vemos sucesivamente los cuatro paquetes con sus
respuestas. A nivel de protocolo un ping es un paquete IP y sobre él se monta el protocolo
ICMP. Tanto IP como ICMP son protocolos de nivel de red, o nivel 3.
Muy importante es el parámetro TTL, “time to live”, o el “tiempo por vivir”. Es un parámetro
del protocolo IP, no solo para los ping. Es para todo el tráfico.
El TTL por defecto es 128. El ping sale con TTL 128 del portátil y por cada enrutador que
pasa se decrementa en 1. Si llega a 0 antes de que llegue al de destino el paquete se
desecha y se informa del error mediante un ICMP al servidor de origen.
El uso de TTL es un mecanismo de protección para evitar la “bola de nieve” en caso de
bucles en el enrutamiento.
Podemos probar el comando:
ping -i 4 google.es
Este comando fija el TTL a 4, de forma que morirá antes de llegar a google, por lo que no
tendremos respuesta, sino un mensaje ICMP de TTL excedido.
Resulta interesante ver cómo “tracert” hace uso del TTL para ir componiendo la ruta salto a
salto. El comando “tracert” genera un ping con TTL=1. Como muere al primer salto recibirá
un ICMP con la IP del primer enrutador. Luego genera otro ping con TTL=2, y así obtiene la
IP del segundo enrutador. Así va generando pings con TTL sucesivos, hasta que consigue
alcanzar el servidor de destino. En wireshark veremos todos los ping, sucesivos con los TTL
expirados, hasta que finalmente conseguimos superar el número de saltos y obtener la
respuesta.
ENLACES DE INTERÉS
https://www.whatsmydns.net/ Propagación en un dominio en una muestra de DNSs
del mundo.
USO DE POWERSHELL
Powershell es una herramienta mucho más avanzada que CMD. Dos sencillos ejemplos que
muestran las capacidades son:
ComputerName : google.es
RemoteAddress : 142.250.200.67
RemotePort : 80
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.85
TcpTestSucceeded : True