sexta-feira, 24 de janeiro de 2014

Como descobrir qual programa está usando uma determinada porta

Hoje tive um probleminha com o mysql instalado em uma máquina windows. Pelo log, ele mostrou que já tinha um programa rodando na porta 3306, que é a porta padrão.
Lembro que havia um programa que mostrava essa informação.  ”Cá entre nós”, estou ficando velho e esquecido, não lembro do nome do programa. Sei que o windows, através do netstat, mostra informações sobre portas, portanto tinha que me virar com ele. Depois de dar um netstat -h, olhei as opções disponíveis, que são:
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
-a            Exibe todas as conexões e portas de escuta.
-b            Exibe o executável envolvido na criação de cada conexão ou  a porta de escuta. Em alguns casos, executáveis bastante   conhecidos hospedam vários componentes independentes e,  nesses casos, a sequência de componentes envolvidos na  criação da conexão ou porta de escuta é exibida. Nessa  situação, o nome do executável fica entre [] na parte  inferior, na parte superior fica o componente que ele chamou e assim por diante até o TCP/IP ser alcançado.  Observe que essa opção pode ser demorada e falhará, a  menos que você tenha as permissões suficientes.
-e            Exibe estatísticas de Ethernet. Pode ser combinada com a  opção -s.
-f            Exibe Nomes de Domínio Totalmente Qualificados para endereços  externos.
-n            Exibe endereços e números de porta no formato numérico.
-o            Exibe a identificação do processo proprietário associado a  cada conexão.
-p proto      Mostra as conexões do protocolo especificado por proto; proto  pode ser: TCP, UDP, TCPv6 ou UDPv6.  Se usado com a opção -s  para exibir estatísticas por protocolo, proto pode ser:  IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP ou UDPv6.  -r            Exibe a tabela de roteamento.  -s            Exibe estatísticas por protocolo. Por padrão, são mostradas  estatísticas para IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP e  UDPv6; a opção -p pode ser usada para especificar um  subconjunto do padrão.
-t            Exibe o estado de offload da conexão atual.  interval      Re-exibe as estatísticas selecionadas, fazendo intervalos  de segundos entre cada exibição. Pressione CTRL+C para  interromper a re-exibição de estatísticas. Se omitido,  netstat imprimirá as informações de configuração atuais  uma vez.
Testando as opções chegei nisso: netstat -a -n -b -p tcp, que resultou nisso: TCP    0.0.0.0:3306           0.0.0.0:0 LISTENING[mysqld.exe].
Beleza. Era o próprio mysql rodando, mas precisava descobrir pq não funcionava. Resolvi removendo o serviço do mysql e instalando de novo, mas agora guardo aqui o comando pra posteridade.
netstat -a -n -b -p tcp
Com netstat -a -n -b -p tcp, tenho informação sobre o PID e como já que estou usando as coisas via linha de comando, um taskkill /PID num_PID /F acaba com o processo, principalmente porque nesse caso especifico o mysqld.exe não aparecia no Gerenciador de processos.

Fonte: -> http://www.gilbertoteles.com.br/site/como-descobrir-qual-programa-est-usando-uma-determinada-porta/

Outral Alternativa seria ....

Exite um utilitario Grafico chamado  CurrPorts v2.10
Web site: http://www.nirsoft.net


Nenhum comentário: