Riga di comando per esaminare una porta specifica


263

C'è un modo per esaminare lo stato di una porta specifica dalla riga di comando di Windows? So che posso usare netstat per esaminare tutte le porte, ma netstat è lento e probabilmente non lo è guardare una porta specifica.


6
netstatè lento solo se non si utilizza lo -nswitch, il che significa che deve eseguire molte ricerche DNS.
Marchese di Lorne,

Risposte:


283

Ecco la semplice soluzione di ricerca delle porte ...

In cmd:

netstat -na | find "8080"

In bash:

netstat -na | grep "8080"

In PowerShell:

netstat -na | Select-String "8080"

3
Come usare questo comando? Voglio sapere che questo numero di porta funziona o no link: - [link] (https: //.localhost: 9043 / ibm / console / login.do)
Mayur Ingle,

8
Vale anche la pena menzionare la -obandiera (cioè -naoqui) per includere il PID del processo che utilizza la porta.
Steve Chambers,

104

È possibile utilizzare il netstatcombinato con le -npbandiere e una pipe per i comandi findo findstr.

L'utilizzo di base è come tale:

netstat -np <protocol> | find "port #"

Quindi, ad esempio, per controllare la porta 80 su TCP, puoi farlo: Il netstat -np TCP | find "80" che finisce per fornire il seguente tipo di output:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

Come puoi vedere, questo mostra solo le connessioni sulla porta 80 per il protocollo TCP.


73

Io uso:

netstat –aon | find "<port number>"

qui o rappresenta l'ID del processo. ora puoi fare qualunque cosa con l'ID processo. Per terminare il processo, ad esempio, utilizzare:

taskkill /F /pid <process ID>

Risposta semplice e chiara, grazie
Mohit Singh,

69

quando ho problemi con WAMP apache, uso questo codice per trovare quale programma sta usando la porta 80.

netstat -o -n -a | findstr 0.0:80

inserisci qui la descrizione dell'immagine

3068 è PID, quindi posso trovarlo dal task manager e interrompere quel processo.


Molto bello, grazie mille! Specialmente per TCP, utilizzo quanto segue: netstat -o -nap TCP | findstr 0.0: 80
denyoha,

20

Come notato altrove: utilizzare netstat, con gli switch appropriati, quindi filtrare i risultati con find [str]

Più semplice:

netstat -an | find ":N"

o

netstat -a -n | find ":N"

Per trovare un porto straniero puoi usare:

netstat -an | findstr ":N[^:]*$"

Per trovare una porta locale è possibile utilizzare:

netstat -an | findstr ":N.*:[^:]*$"

Dove N è il numero di porta che ti interessa.

-n assicura che tutte le porte siano numeriche, cioè non restituite come tradotte in nomi di servizi.

-a ti assicurerà di cercare tutte le connessioni (TCP, UDP, ascolto ...)

Nella findstringa è necessario includere i due punti, come qualificatore di porta, altrimenti il ​​numero potrebbe corrispondere a indirizzi locali o esteri.

Puoi restringere ulteriormente la ricerca usando altri switch netstat se necessario ...

Ulteriori letture (^ 0 ^)

netstat /?

find /?

findstr /?

9
netstat -a -n | find /c "10.240.199.9:8080"

ti darà il numero di socket attivi su un IP e una porta specifici (numero di porta del server)


3
Questo non funziona per Windows Power Shell su Windows 2012 R2 e ha ricevuto il risultato comeFIND: Parameter format not correct
Chaminda Bandara,

6

Per utente di Windows 8: Apri il prompt dei comandi, digitare netstat -an | trova "il tuo numero di porta" , inserisci.

Se la risposta arriva come ASCOLTO, la porta è in uso, altrimenti è libera.


2

Per migliorare la risposta di @ EndUzr :

Per trovare una porta esterna (IPv4 o IPv6) è possibile utilizzare:

netstat -an | findstr /r /c:":N [^:]*$"

Per trovare una porta locale (IPv4 o IPv6) è possibile utilizzare:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

Dove N è il numero di porta che ti interessa. L'opzione "/ r" gli dice di elaborarlo come regexp. L'opzione "/ c" consente a findstr di includere spazi nelle stringhe di ricerca invece di considerare uno spazio come delimitatore di stringhe di ricerca. Questo spazio aggiunto evita che le porte più lunghe vengano maltrattate, ad esempio ": 80" vs ": 8080" e altri problemi di mungitura delle porte.

Per elencare le connessioni remote al server RDP locale, ad esempio:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

O per vedere chi sta toccando il tuo DNS:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

Se si desidera escludere porte solo locali, è possibile utilizzare una serie di eccezioni con "/ v" e fuggire i caratteri con una barra rovesciata:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"

1

Per la porta 80, il comando sarebbe: netstat -an | trova "80" Per la porta n, il comando sarebbe: netstat -an | trova "n"

Qui, netstat è l'istruzione per la tua macchina

-a: visualizza tutte le connessioni e le porte di ascolto -n: visualizza tutti gli indirizzi e le istruzioni in formato numerico (è necessario perché l'output di -a può contenere nomi di macchine)

Quindi, un comando find per "Pattern Match" l'output del comando precedente.


0

Questo ti aiuterà

netstat -atn | grep <port no>          # For tcp
netstat -aun | grep <port no>           # For udp
netstat -atun | grep <port no>          # For both

0

In RHEL 7, utilizzo questo comando per filtrare diverse porte nello stato LISTEN:

sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'

-1

Questo comando mostrerà tutte le porte e il loro indirizzo di destinazione:

netstat -f 

1
La richiesta era scoprire se era in uso una porta specifica.
Ro Yo Mi,

-5

Usa il comando lsof "lsof -i tcp: port #", ecco un esempio.

$ lsof -i tcp:1555 
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    27330 john  121u  IPv4 36028819      0t0  TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  201u  IPv4 36018833      0t0  TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  264u  IPv4 36020018      0t0  TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  312u  IPv4 36058194      0t0  TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)

4
Punto negativo perché questo non è un comando di Windows. Se è disponibile su Windows, non è possibile discutere su come acquisirlo.
Ro Yo Mi,

1
Non risponde alla domanda di OP. -1.
FractalSpace,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.