Domanda

Sto cercando di installare un sito su una porta alternativa su un server, ma la porta potrebbe essere chiusa da un firewall. C'è un modo per eseguire il ping out o in, su una porta specifica, per vedere se è aperto?

È stato utile?

Soluzione

Supponendo che sia una porta TCP (anziché UDP) che stai tentando di usare:

  1. Sul server stesso, utilizzare netstat -an per verificare quali porte sono in ascolto

  2. Dall'esterno, solo telnet host port (o telnet host:port su sistemi Unix) per vedere se la connessione viene rifiutata, accettata o timeout

In quest'ultimo test, quindi in generale:

  • connessione rifiutata significa che non è in esecuzione nulla su quella porta
  • accettato significa che qualcosa è in esecuzione su quella porta
  • timeout indica che un firewall sta bloccando l'accesso

Su Win7 o Vista l'opzione di default "telnet" non è riconosciuta come comando interno o esterno, programma eseguibile o file batch. Per risolvere questo problema, abilitalo: fai clic su Start, Pannello di controllo, Programmi, quindi Attiva o disattiva Funzionalità Windows. Nell'elenco, scorrere verso il basso e selezionare Telnet Client e fare clic su OK

Altri suggerimenti

Volevo solo aggiungere che su Windows puoi usare

netstat -na | find "your_port"

per restringere i risultati. Puoi anche filtrare per LISTENING, ESTABLISHED, TCP e simili. Tuttavia, è sensibile al maiuscolo / minuscolo.

Se stai controllando dall'esterno, non dal server stesso, e non vuoi preoccuparti di installare telnet (poiché non viene fornito con le ultime versioni di Windows) o qualsiasi altro software, allora hai PowerShell nativo:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(Sfortunatamente questo funziona solo con PowerShell 4.0 o versioni successive. Per controllare la tua versione PS, digita $PSVersionTable.)


(Se hai una PSVersion < 4.0, sei sfortunato. Controlla questa tabella:

invio descrizione dell'immagine qui

Anche se puoi aggiornare la tua versione di PowerShell installando Windows Management Framework 4.0 , non ha funzionato per me, Test-NetConnection il cmdlet non è ancora disponibile).

Su un computer Windows è possibile utilizzare PortQry da Microsoft per verificare se un'applicazione è già in ascolto su una porta specifica utilizzando il seguente comando:

portqry -n 11.22.33.44 -p tcp -e 80

Mi è piaciuto:

netstat -an | find "8080" 

da telnet

telnet 192.168.100.132 8080

E assicurati solo che il firewall sia spento su quella macchina.

Se telnet non è disponibile, scaricare PuTTY . È un client telnet, ssh, ecc. Di gran lunga superiore e sarà utile in molte situazioni, non solo in questo, specialmente se stai amministrando un server.

Vuoi uno strumento per farlo? C'è un sito web all'indirizzo http://www.canyouseeme.org/ . Altrimenti, è necessario qualche altro server per richiamarti per vedere se una porta è aperta ...

Usalo se vuoi vedere tutte le porte usate e in ascolto sul server Windows:

netstat -an |find /i "listening"

Vedi tutte le porte aperte, in ascolto e stabilite:

netstat -a

Su Windows Server puoi usare

netstat -an | where{$_.Contains("Yourport")}

anche psping da Sysinternals è molto buono

Un'altra opzione è tcping .

Ad esempio:

tcping host port

Penso che il migliore che ho ottenuto sia questo dove puoi controllare le tue porte e anche quelle di altri domini.

www.yougetsignal.com/tools/open-ports

Ecco cosa ha funzionato per me

  • apri il prompt dei comandi
  • tipo telnet
  • Microsoft Telnet > apri

Confermerà se la porta è aperta.

Altra utilità che ho trovato ed è buona e piccola, PortQry Command Line Port Scanner Versione 2.0 https://www.microsoft.com/en-us/download /details.aspx?id=17148

puoi eseguire il ping di un server e una porta e ti dirà lo stato della porta, c'è un'utilità da riga di comando e un'interfaccia utente per essa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top