Solución 1:
Puede verificar si un proceso escucha en un puerto TCP o UDP con netstat -tuplen
.
Para verificar si algunos puertos son accesibles desde el exterior (esto es probablemente lo que desea), puede usar un escáner de puertos como Nmap de otro sistema. Ejecutar Nmap en el mismo host que desea verificar es bastante inútil para su propósito.
Solución 2:
La forma más rápida de probar si un puerto TCP está abierto (incluidos los firewalls de hardware que pueda tener) es escribir, desde una computadora remota (por ejemplo, su escritorio):
telnet myserver.com 80
Que intentará abrir una conexión al puerto 80 en ese servidor. Si obtiene un tiempo de espera o denegación, el puerto no está abierto :)
Solución 3:
Bien, en resumen, tienes un servidor en el que puedes iniciar sesión. Quiere ver si algo está escuchando en algún puerto. Como root, ejecuta:
netstat -nlp
esto mostrará una lista de procesos que escuchan en los puertos TCP y UDP. Puede escanearlo (o grep) para el proceso que le interesa y/o los números de puerto que espera ver.
Si el proceso que espera no está allí, debe iniciar ese proceso y verificar netstat nuevamente. Si el proceso está allí, pero está escuchando en una interfaz y puerto que no esperaba, entonces hay un problema de configuración (por ejemplo, podría estar escuchando, pero solo en la interfaz de bucle invertido, por lo que vería 127.0.0.1:3306 y no hay otras líneas para el puerto 3306, en el caso de la configuración predeterminada para MySQL).
Si el proceso está activo y está escuchando en el puerto que espera, puede intentar ejecutar un "telnet" en ese puerto desde su Macbook en su oficina/hogar, por ejemplo,
telnet xxxxxxxxxxxx.co.uk 443
Eso probará si (suponiendo puertos estándar) hay un servidor web configurado para SSL. Tenga en cuenta que esta prueba con telnet solo funcionará si el proceso está escuchando en un puerto TCP. Si es un puerto UDP, también puede probar con cualquier cliente que vaya a usar para conectarse a él. (Veo que usaste el puerto 224. Esto es masqdialer, y no tengo idea de qué es).
Si el servicio está allí, pero no puede acceder a él externamente, entonces hay un firewall que lo bloquea. En ese caso, ejecute:
iptables -L -n
Esto mostrará todas las reglas de firewall definidas en su sistema. Puede publicar eso, pero, en general, si no está permitiendo todo en la cadena de ENTRADA, probablemente deba permitir explícitamente el tráfico en el puerto en cuestión:
iptables -I INPUT -p tcp --dport 224 -j ACCEPT
O algo por el estilo. No ejecute los comandos de su firewall a ciegas basándose en lo que algún extraño le haya dicho en Internet. Considere lo que está haciendo.
Si su firewall en la caja permite el tráfico que desea, entonces su empresa de alojamiento puede estar ejecutando un firewall (por ejemplo, solo permiten SSH (22/tcp), HTTP (80/tcp) y HTTPS (443/tcp) y denegar todo el resto del tráfico entrante). En este caso, deberá abrir un ticket de soporte con ellos para resolver este problema, aunque supongo que podría haber algo en su cPanel que lo permita.
Solución 4:
Yo uso el combo de netstat
y lsof
:
netstat -an | grep <portnumber>
lsof -i:<portnumber>
Para ver si el puerto se está utilizando y qué lo está utilizando.
Solución 5:
Si está conectado al sistema y puede ejecutar un comando como root, puede verificar la salida de iptables
iptables -L -vn
esto enumerará las reglas del cortafuegos y qué puertos están abiertos objetivo ACCEPT
y cualquier puerto explícitamente cerrado se dirige a REJECT
.