2008-09-19 10 views
94

Voglio essere in grado di capire quale porta sta usando un particolare programma. Esistono programmi disponibili online o dotati di Windows che mi diranno quali processi stanno utilizzando quali porte del mio computer?Quale porta usa un determinato programma?

PS: prima di eseguire il downmod per non essere una domanda di programmazione, sto cercando il programma per testare qualche codice di rete.

+6

Indipendentemente dal fatto che lo si utilizzi come parte di un progetto di programmazione, non si tratta di un problema di programmazione. –

risposta

144

netstat -b -a elenca le porte in uso e fornisce l'eseguibile che sta utilizzando ciascuna. Credo che sia necessario essere nel gruppo degli amministratori per fare ciò, e non so quali implicazioni di sicurezza ci siano su Vista.

Generalmente aggiungo -n per renderlo un po 'più veloce, ma l'aggiunta di -b può renderlo piuttosto lento.

Edit: Se avete bisogno di più funzionalità rispetto netstat prevede, vasac suggests di provare TCPView.

+2

Perfetto, grazie! – AlexeyMK

+1

Se qualcuno ha il diritto di modificare una risposta, prendere in considerazione l'aggiunta della risposta di vasac sotto (TCPView) per chiunque abbia bisogno di una versione più completa di questa funzionalità con una vera gui – AlexeyMK

+0

Ho aggiunto il collegamento a TCPView alla mia risposta. –

-1

i programmi firewall più affidabili dovrebbero consentire l'accesso a queste informazioni. So che Agnitum OutpostPro Firewall fa.

0

Alla riga di comando, netstat -a ti darà molte informazioni.

+0

Preferirei votare se avessi ancora voti. – UnkwnTech

+0

-1: -a non fornisce l'ID di processo – CharlesB

+0

@CharlesB Lo fa se si aggiunge l'opzione '-o'. – EJP

2

Windows viene fornito con l'utilità netstat, che dovrebbe fare esattamente ciò che si desidera.

0

Per questo è possibile utilizzare il comando 'netstat'. C'è una descrizione di questo tipo di cose here.

41

TCPView può fare quello che hai chiesto.

+1

Grazie; netstat è più che sufficiente per le mie esigenze ma se avrò mai bisogno di qualcosa di più hardcore sarò sicuro di usare TCPView. Dovrebbe essere aggiunto alla risposta accettata ma purtroppo non ho ancora il diritto di modificare. – AlexeyMK

+0

Utilizzo l'utilità Netstat fornita con XAMPP. Ma questa utility standalone è molto utile. Grazie. – Shiyaz

3

"netstat -natp" è quello che uso sempre.

6

Se preferisci un'interfaccia GUI CurrPorts è gratuito e funziona con tutte le versioni di Windows. Mostra le porte e quale processo le ha aperte.

+0

un'altra buona alternativa. wow, non sapevo che fosse un argomento così popolare :) – AlexeyMK

10

È possibile che sia già installato Process Explorer (da Sysinternals, ora parte di Microsoft). In caso contrario, andare avanti e installarlo ora - è proprio così bello.

In Process Explorer: individuare il processo in questione, fare clic con il tasto destro e selezionare la scheda TCP/IP. Ti mostrerà persino, per ogni socket, una traccia dello stack che rappresenta il codice che ha aperto quel socket.

22

Su Vista, sono necessari privilegi elevati per utilizzare l'opzione -b con netstat. Per ovviare a ciò, è possibile eseguire "netstat -ano" che mostrerà tutte le porte aperte insieme all'ID processo associato. È quindi possibile utilizzare la lista di attività per cercare quale processo ha l'id corrispondente.

C:\>netstat -ano 

Active Connections 

    Proto Local Address   Foreign Address  State   PID 
    ... 
    TCP [::]:49335    [::]:0     LISTENING  1056 
    ... 

C:\>tasklist /fi "pid eq 1056" 

Image Name      PID Session Name  Session# Mem Usage 
========================= ======== ================ =========== ============ 
sqlservr.exe     1056 Services     0  66,192 K 
1

Windows 8 (e probabilmente 7 + Vista) forniscono anche una vista in Monitoraggio risorse. Se selezioni la scheda Rete, c'è una sezione chiamata "Ascolto delle porte". Può ordinare per numero di porta e vedere quale processo lo sta usando.

Problemi correlati