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.

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

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.

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.