Solução

Solução

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)

insira a descrição da imagem aqui

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 -bparâ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 -bcomando 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.exeem 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 FORpara analisar netstata saída e depois DO tasklistcom /fifiltro no pid para mostrar o nome do processo.

A última descoberta é remover tasklistcabeç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 netstatpodem 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

informação relacionada