Soluzione 1:
Puoi verificare se un processo è in ascolto su una porta TCP o UDP con netstat -tuplen
.
Per verificare se alcune porte sono accessibili dall'esterno (questo è probabilmente quello che vuoi) puoi usare un port scanner come Nmap da another sistema. Eseguire Nmap sullo stesso host che vuoi controllare è del tutto inutile per il tuo scopo.
Soluzione 2:
Il modo più rapido per verificare se una porta TCP è aperta (inclusi eventuali firewall hardware che potresti avere), è digitare, da un computer remoto (ad esempio il tuo desktop):
telnet myserver.com 80
Che proverà ad aprire una connessione alla porta 80 su quel server. Se ottieni un timeout o un rifiuto, la porta non è aperta :)
Soluzione 3:
OK, in sintesi, hai un server a cui puoi accedere. Vuoi vedere se qualcosa è in ascolto su qualche porta. Come root, esegui:
netstat -nlp
questo mostrerà un elenco di processi in ascolto sulle porte TCP e UDP. Puoi scansionarlo (o grep) per il processo che ti interessa e/o i numeri di porta che ti aspetti di vedere.
Se il processo che ti aspetti non è presente, dovresti avviare quel processo e controllare di nuovo netstat. Se il processo è presente, ma è in ascolto su un'interfaccia e una porta che non ti aspettavi, allora c'è un problema di configurazione (ad esempio, potrebbe essere in ascolto, ma solo sull'interfaccia di loopback, quindi vedresti 127.0.0.1:3306 e nessun'altra riga per la porta 3306, nel caso della configurazione predefinita per MySQL).
Se il processo è attivo ed è in ascolto sulla porta che ti aspetti, puoi provare a eseguire un "telnet" su quella porta dal tuo Macbook in ufficio/a casa, ad esempio,
telnet xxxxxxxxxxxx.co.uk 443
Ciò verificherà se (assumendo le porte standard) esiste un server Web configurato per SSL. Si noti che questo test utilizzando telnet funzionerà solo se il processo è in ascolto su una porta TCP. Se si tratta di una porta UDP, puoi anche provare con qualsiasi client che avresti utilizzato per connetterti ad essa. (Vedo che hai usato la porta 224. Questa è masqdialer e non ho idea di cosa sia).
Se il servizio è presente, ma non puoi accedervi dall'esterno, allora c'è un firewall che ti blocca. In tal caso, esegui:
iptables -L -n
Questo mostrerà tutte le regole del firewall come definite sul tuo sistema. Puoi postarlo, ma, in generale, se non stai consentendo tutto sulla catena INPUT, probabilmente dovrai consentire esplicitamente il traffico sulla porta in questione:
iptables -I INPUT -p tcp --dport 224 -j ACCEPT
o qualcosa del genere. Non eseguire i comandi del tuo firewall alla cieca basandoti su ciò che uno sconosciuto ti ha detto su Internet. Considera cosa stai facendo.
Se il tuo firewall sulla scatola consente il traffico che desideri, la tua società di hosting potrebbe eseguire un firewall (ad esempio, consente solo SSH (22/tcp), HTTP (80/tcp) e HTTPS (443/tcp) e negando tutto il resto del traffico in entrata). In questo caso, dovrai aprire un ticket dell'helpdesk con loro per risolvere questo problema, anche se suppongo che potrebbe esserci qualcosa nel tuo cPanel che potrebbe consentirlo.
Soluzione 4:
Uso la combinazione di netstat
e lsof
:
netstat -an | grep <portnumber>
lsof -i:<portnumber>
Per vedere se la porta è in uso e cosa la sta usando.
Soluzione 5:
Se sei connesso al sistema e puoi eseguire un comando come root, puoi controllare l'output di iptables
iptables -L -vn
questo elencherà le regole del firewall e quali porte sono aperte target ACCEPT
e qualsiasi porta esplicitamente chiusa ha come target REJECT
.