Usando netstat -a -o -n
posso obter a lista de portas e PID
então preciso ir no gerenciador de tarefas e adicionar o PID e ver quem é. (muito frustrante)
Eu queria saber se existe um comando CMD que faz tudo ( usando find
,, for
)powershell
para que eu pudesse obter o nome do processo
Responder1
Solução
Utilize o -b
parâmetro:
-b Displays the executable involved in creating each connection or
listening port. In some cases well-known executables host
multiple independent components, and in these cases the
sequence of components involved in creating the connection
or listening port is displayed. In this case the executable
name is in [] at the bottom, on top is the component it called,
and so forth until TCP/IP was reached. Note that this option
can be time-consuming and will fail unless you have sufficient
permissions.
ObservaçãoO netstat -b
comando falhará, a menos que seja executado em um prompt de comando elevado.
Gambiarra
Filtre a lista de processos e encontre o PID de seu interesse:
tasklist | findstr /c:"PID"
Solução alternativa
Você pode usar Tcpvcon.exe
em seu lugar. Não são necessários direitos de administrador.
TCPvcono uso é semelhante ao do utilitário integrado do Windows
netstat
.
Usage: tcpvcon [-a] [-c] [-n] [process name or PID]
-a Show all endpoints (default is to show established TCP connections).
-c Print output as CSV.
-n Don't resolve addresses.
Responder2
Eu acho que você está procurandoVisualização TCPda SysInternals.
Responder3
Aqui está um exemplo de uso do Windows FOR
para analisar netstat
a saída e depois DO
tasklist
com /fi
filtro no pid para mostrar o nome do processo.
A última descoberta é remover tasklist
cabeçalhos.
FOR /F "usebackq tokens=5 delims= " %i IN (`netstat -ano ^|find "443"`) DO @tasklist /fi "pid eq %i" | find "%i"
imprime a saída de registros como
tomcat8.exe.x64 4240 Services 0 931,864 K
Campos adicionais netstat
podem ser adicionados adicionando tokens.
Responder4
Tente usar isso...
Nome do processo com carimbo de data e hora :) no oneliner... não há necessidade de script rápido e fácil...
Você pode alterar o parâmetro SYN_SENT por ESTABLISHED ou LISTENING
filter timestamp {"$(Get-Date -Format G): $_"};netstat -abno 1 | Select-String -Context 0,1 -Pattern LISTENING|timestamp
filter timestamp {"$(Get-Date -Format G): $_"};netstat -abno 1 | Select-String -Context 0,1 -Pattern SYN_SENT|timestamp