Configurar Port Mirroring en Cisco IOS
Configurar Port Mirroring en Cisco IOS

Configurar Port Mirroring (Reflejo del Puerto) en Cisco IOS

El Reflejo del Puerto (Port Mirroring) es una técnica que permite copiar todo el tráfico de uno o más puertos de origen a un puerto de destino.

Esto puede resultar muy útil para analizar los flujos de red que transitan por ciertos puertos o en una VLAN, especialmente en una fase de resolución de problemas.

Ilustración de ejemplo de Port Mirroring
Ilustración de ejemplo de Port Mirroring

De esta manera, no es necesario comenzar a colocar un hub entre el switch y el equipo que te interesa. Gracias a este método, el tráfico se duplicará y podrás recuperarlo y analizarlo directamente desde una herramienta como Wireshark o TcpDump.

El Puerto Espejo (Port Mirroring) también se conoce como SPAN : Switched Port Analyzer

Port-mirroring en el Puerto de Origen

Comencemos configurando el port-mirroring en un puerto de origen, duplicando el tráfico a un puerto de destino.

Primero cambia al modo privilegiado y luego al modo de terminal de configuración:

Switch>enable
password:
Switch#configure terminal

Luego elegimos el puerto de origen fastEthernet 0/1 y copiamos tanto los paquetes recibidos como los transmitidos (both -ambos). Si deseas tomar solo los paquetes recibidos, especificaremos rx, para los transmitidos será tx.

Switch(config)#monitor session 1 source interface fa 0/1 both

El ejemplo anterior configura la sesión n.° 1, es posible configurar varias sesiones que puedes administrar gracias a la numeración. Si queremos tomar varios puertos de origen, repetimos el comando modificando la interfaz de origen, si mantenemos el mismo número de sesión, esto se agregará a los parámetros actuales (sin reemplazo).

Para finalizar la configuración, indicamos a qué puerto de destino queremos duplicar el tráfico proveniente del puerto de origen. Ejemplo con fastEthernet 0/2.

Switch(config)#monitor session 1 destination interface fa0/2

Con respecto al comando monitor session, esta es su sintaxis completa:

monitor session session_number
{ 
  destination 
  {
    interface interface_id[,|-]
    [encapsulation {dot1q}]
    [ingress vlan vlan_id]
  } |
  remote vlan vlan_id reflector-port interface_id
} |
{ 
  source
  {
    interface interface_id[,|-][both|tx|rx]
  } |
  remote vlan vlan_id
}

Desglose del comando

  • monitor session session_number: Inicia la configuración de una sesión de monitoreo con un número específico de sesión.
  • destination:
    • interface interface_id[,|-]: Especifica la interfaz de destino. Se pueden usar múltiples interfaces separadas por comas (,) o rangos de interfaces utilizando guiones (-).
    • [encapsulation {dot1q}]: (Opcional) Define la encapsulación como 802.1Q.
    • [ingress vlan vlan_id]: (Opcional) Especifica un VLAN de ingreso.
  • remote vlan vlan_id reflector-port interface_id: Define un VLAN remoto y el puerto reflector.
  • source:
    • interface interface_id[,|-][both|tx|rx]: Especifica la interfaz de origen y el tipo de tráfico a monitorear. Puedes monitorear ambos sentidos (both), solo transmisión (tx), o solo recepción (rx).
    • remote vlan vlan_id: Define un VLAN remoto como fuente.

Verifiquemos que la configuración esté bien considerada:

Switch#show monitor session 1
Comando show monitor session 1
Comando show monitor session 1

Por mi parte, luego utilicé el software Wireshark en una máquina cliente conectada al puerto de destino (fastEthernet 0/2) para recuperar el tráfico. Mi host tiene la dirección IP 169.254.23.168 (dirección APIPA), notamos que los pings entre los hosts 192.168.1.1 y 192.168.1.2 son claramente visibles en este análisis. El tráfico está bien duplicado.

Ejemplo de análisis de reflejo de puertos con Wireshark
Ejemplo de análisis reflejo de puertos con Wireshark

Si notas que tu tarjeta de red no considera el tráfico duplicado que no está dirigido directamente a tu máquina, debes activar el modo promiscuo en tu tarjeta de red. WireShark activa este modo en la tarjeta que utiliza, pero la modificación puede requerirse manualmente con otro software.

Port-mirroring en una VLAN

Mismo principio de configuración que el caso anterior, a diferencia de que ahí duplicamos todo el tráfico de una VLAN en particular. Por ejemplo, tomamos todo el tráfico de la VLAN de origen al puerto de destino fastEthernet 0/2.

Switch(config)#monitor session 2 source vlan 10 both

El comando de destino sigue siendo el mismo (excepto el número de sesión):

Switch(config)#monitor session 1 destination interface fa0/2

Eliminar una Sesión de Port-mirroring

La eliminación de una sesión se realiza mediante su número, precediendo el comando por “no” como generalmente se hace en Cisco.

Switch(config)#no monitor session 1

La configuración del puerto espejo (port-mirroring) ahora está completa y operativa.