#!/bin/sh

HOST_IF=eth0
MGMT_IF=eth2
PCAP_FILE="/shared/captura-router-eth2-$(date +'%Y%m%d-%H%M%S').pcapng"

cat <<EOF
=====================================================================
Este equipo es un router, por lo que no tiene manera de conectarle
un teclado. Para peor, no tiene interfaz web ni telnet habilitado.
Pero puede controlarlo en forma remota mediante protocolo SNMP.

Desde la NMS, determine la dirección IP de este router y utilice
los comandos snmpget / snmpset / snmptable para monitorear y/o
configurar este dispositivo mediante las community 'public' y
'private'.

Adicionalmente, si pulsa Enter en esta terminal, se forzará la
pérdida de un enlace por un minuto. Al detectar este suceso, el
router enviará automáticamente un TRAP a la estación de monitoreo.

Para su comodidad, este router captura todo el tráfico en la interfaz
de administración (${MGMT_IF}), almacenandose en el directorio
/shared del host, con el nombre captura-router-${MGMT_IF}-...(.pcap)
=====================================================================
EOF

if ! pgrep tshark > /dev/null; then
  touch "${PCAP_FILE}"
  chmod 0644 "${PCAP_FILE}"
  tshark -i ${MGMT_IF} -l -n -w "${PCAP_FILE}" &
  sleep 1
fi
printf "      <-- Paquetes capturados"

read KEY
printf "Forzando caida del enlace ${HOST_IF}\n"
printf "Restaurando en "
ip link set dev ${HOST_IF} down
for REMAINING in 60 50 40 30 20 10; do
  printf "%s... " ${REMAINING}
  sleep 10
done
ip link set dev ${HOST_IF} up
printf "Enlace ${HOST_IF} nuevamente activo\n"
