tagspaces - Como você pode descobrir qual processo está escutando em uma porta no Windows?




tagspaces linux (18)

Obter PID e nome da imagem

Use apenas um comando:

for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"

onde 9000 deve ser substituído pelo seu número de porta.

A saída conterá algo como isto:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
java.exe                      5312 Services                   0    130,768 K

Explicação:

  • itera através de cada linha da saída do seguinte comando:

    netstat -aon | findstr 9000
    
  • de cada linha, o PID ( %a - o nome não é importante aqui) é extraído (PID é o elemento nessa linha) e passado para o seguinte comando

    tasklist /FI "PID eq 5312"
    

Se você quiser pular o cabeçalho e o retorno do prompt de comando , você pode usar:

echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on

Saída:

java.exe                      5312 Services                   0    130,768 K

Como você pode descobrir qual processo está escutando em uma porta no Windows?


  1. Abra uma janela de prompt de comando (como Administrador) Em "Iniciar \ caixa de pesquisa" Digite "cmd" e clique com o botão direito do mouse em "cmd.exe" e selecione "Executar como administrador"

  2. Digite o seguinte texto e pressione Enter.

    netstat -abno

    -a Exibe todas as conexões e portas de escuta.

    -b Exibe o executável envolvido na criação de cada conexão ou porta de escuta. Em alguns casos, os executáveis ​​conhecidos hospedam vários componentes independentes e, nesses casos, a sequência de componentes envolvidos na criação da porta de conexão ou escuta é exibida. Nesse caso, o nome do executável está em [] na parte inferior, em cima está o componente chamado, e assim por diante, até que o TCP / IP seja atingido. Observe que essa opção pode ser demorada e falhará, a menos que você tenha permissões suficientes.

    -n Exibe endereços e números de porta em formato numérico.

    -o Exibe o ID do processo de propriedade associado a cada conexão.

  3. Encontre a porta que você está escutando em "Local Address"

  4. Veja o nome do processo diretamente abaixo disso.

NOTA: Para encontrar o processo no Gerenciador de Tarefas

  1. Observe o PID (identificador de processo) ao lado da porta que você está olhando.

  2. Abra o Gerenciador de Tarefas do Windows.

  3. Selecione a guia Processos.

  4. Procure o PID que você anotou quando fez o netstat na etapa 1.

    • Se você não vir uma coluna PID, clique em Visualizar / Selecionar Colunas. Selecione PID.

    • Certifique-se de que "Mostrar processos de todos os usuários" esteja selecionado.


A opção -b mencionada na maioria das respostas requer que você tenha privilégios administrativos na máquina. Você realmente não precisa de direitos elevados para obter o nome do processo!

Encontre o pid do processo em execução no número da porta (por exemplo, 8080)

netstat -ano | findStr "8080"

Encontre o nome do processo por pid

tasklist /fi "pid eq 2216"


Basta abrir um shell de comando e digitar: (dizendo que sua porta é 123456)

netstat -a -n -o | find "123456"

Você vai ver tudo que precisa

Os cabeçalhos são:

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:37             0.0.0.0:0              LISTENING       1111

isso é como mencionado here


Digite o comando: netstat -aon | findstr :DESIRED_PORT_NUMBER netstat -aon | findstr :DESIRED_PORT_NUMBER

Por exemplo, se eu quiser encontrar a porta 80: netstat -aon | findstr :80 netstat -aon | findstr :80

Esta resposta foi originalmente publicada neste tópico .


Eu recomendo CurrPorts da NirSoft.

CurrPorts pode filtrar os resultados exibidos. TCPView não possui esse recurso.

Nota: Você pode clicar com o botão direito do mouse na conexão de soquete de um processo e selecionar "Fechar Conexões TCP Selecionadas" (Você também pode fazer isso no TCPView). Isso geralmente corrige problemas de conectividade que tenho com o Outlook e o Lync depois que eu alterno as VPNs. Com CurrPorts, você também pode fechar conexões da linha de comando com o parâmetro "/ close".


Netstat -a exibe todas as portas de conexão e escuta -b exibe executáveis ​​-n stop resolve nomes de host (formulário numérico) -o processo de propriedade

netstat -bano | findstr "7002"

netstat -ano > ano.txt 

nirsoft.net/utils/cports.html ajuda a pesquisar e filtrar


Para aqueles que usam o Powershell, tente Get-NetworkStatistics :

> Get-NetworkStatistics | where Localport -eq 8000


ComputerName  : DESKTOP-JL59SC6
Protocol      : TCP
LocalAddress  : 0.0.0.0
LocalPort     : 8000
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : LISTENING
ProcessName   : node
PID           : 11552

Para obter uma lista de todos os IDs do processo proprietários associados a cada conexão:

netstat -ao |find /i "listening"

Se quiser matar algum processo tem o id e use esse comando, para que essa porta fique livre

Taskkill /F /IM pidof a process

Primeiro, encontramos o id do processo dessa tarefa específica que precisamos eliminar para obtermos a porta livre

tipo
netstat -n -a -o

Depois de executar este comando no prompt de linha de comando do windows (cmd) selecione o pid que eu acho que a última coluna suponha que esta é 3312

Agora digite

taskkill / F / PID 3312

Agora você pode cruzar a verificação digitando o comando netstat.

OBSERVAÇÃO: às vezes o Windows não permite que você execute este comando diretamente no CMD, então primeiro você precisa seguir estas etapas em start-> prompt de comando (clique direito no prompt de comando e execute como administrador)


Se a mudança de porta não funcionar:

Passo 1: Vá aos serviços pesquisando por 'serviços' no Windows.

Etapa 2: Solicitar todos os serviços em ordem alfabética (não é necessário)

Etapa 3: Interrompa todos os serviços relacionados ao MYSQL.

Passo 4: Inicie o mysql do xampp.


Se você gostaria de usar uma ferramenta GUI para fazer isso, existe o TCPView .


Use TCPView se você quiser uma GUI para isso. É o antigo aplicativo da Sysinternals que a Microsoft comprou.


Use o script de lote abaixo que usa um nome de processo como argumento e fornece saída netstat para o processo.

@echo off
set procName=%1
for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq %1" /fo csv') do call :Foo %%~F
goto End

:Foo
set z=%1
echo netstat for : "%procName%" which had pid "%1"
echo ----------------------------------------------------------------------

netstat -ano |findstr %z%
goto :eof

:End

netstat -a -o Isso mostra o PID do processo em execução em uma porta específica.

Tenha em mente o ID do processo e vá para o gerenciador de tarefas e serviços ou guia detalhes e finalizar o processo que tem o mesmo PID.

Assim, você pode matar um processo em execução em uma porta específica no Windows.


netstat -ao e netstat -ab informam o aplicativo, mas se você não for administrador, receberá "A operação solicitada requer elevação".

Não é o ideal, mas se você usar o sysinternals Process Explorer, você pode ir para as propriedades dos processos específicos e olhar para a aba TCP para ver se eles estão usando a porta que você está interessado. Pequena coisa de agulha e palheiro, mas talvez vai ajudar alguém ....


C:\> netstat -a -b

(adicione -n para pará-lo tentando resolver nomes de host, o que tornará muito mais rápido)

Observe a recomendação de Dane para o TCPView . Parece muito útil!

-a Exibe todas as conexões e portas de escuta.

-b Exibe o executável envolvido na criação de cada conexão ou porta de escuta. Em alguns casos, os executáveis ​​conhecidos hospedam vários componentes independentes e, nesses casos, a sequência de componentes envolvidos na criação da porta de conexão ou escuta é exibida. Nesse caso, o nome do executável está em [] na parte inferior, em cima está o componente chamado, e assim por diante, até que o TCP / IP seja atingido. Observe que essa opção pode ser demorada e falhará, a menos que você tenha permissões suficientes.

-n Exibe endereços e números de porta em formato numérico.

-o Exibe o ID do processo de propriedade associado a cada conexão.


netstat -aon | find /i "listening"






port