Estás confundiendo dos conceptos. Iptables maneja el control de acceso para su red. Cuando acepta el tráfico de entrada con un destino del puerto TCP 8008, solo significa que está permitiendo que Internet envíe tráfico a ese puerto. No tiene ningún efecto sobre lo que, en todo caso, está escuchando en el puerto.
Para escuchar en un puerto, necesita un programa configurado para hacerlo. En su caso original, tomcat
era ese programa. Lo detuviste, así que ahora no hay nada escuchando en ese puerto. Para volver a abrirlo como oyente, debe iniciar tomcat
, o cualquier otro programa que quieras, para escuchar en ese puerto. El programa que seleccione para escuchar en ese puerto depende completamente del servicio que desee proporcionar en ese puerto.
Los comandos de iptables no afectan si su programa está escuchando o no, solo afecta si el tráfico de Internet puede o no comunicarse con ese programa.
Si solo desea abrir un puerto de red que descargue todo lo que se le envía, el programa que desea es netcat
. El comando
nc -l -p 8080
Esto hará que netcat escuche en el puerto 8080 y descargue todo lo que se envíe a ese puerto a la salida estándar. Puede redirigir su salida a un archivo si desea guardar los datos enviados a ese puerto. Si desea algo más sofisticado que un volcado de datos sin procesar, deberá determinar qué programa(s) específico(s) son capaces de manejar sus datos e iniciar uno de esos en su lugar.
No abres un puerto. Ejecuta un programa y el programa escucha las conexiones en un puerto. Por lo tanto, debe asegurarse de que ningún otro programa esté escuchando el puerto 8080, luego debe configurar su programa para escuchar el puerto 8080 y luego debe ejecutar su programa.