Existe uma maneira de examinar o status de uma porta específica na linha de comando do Windows? Eu sei que posso usar o netstat para examinar todas as portas, mas o netstat é lento e, provavelmente, não é possível olhar para uma porta específica.
Existe uma maneira de examinar o status de uma porta específica na linha de comando do Windows? Eu sei que posso usar o netstat para examinar todas as portas, mas o netstat é lento e, provavelmente, não é possível olhar para uma porta específica.
Respostas:
Aqui está a solução fácil para encontrar portas ...
Em cmd:
netstat -na | find "8080"
Na festança:
netstat -na | grep "8080"
No PowerShell:
netstat -na | Select-String "8080"
-o
bandeira (ou seja, -nao
aqui) para incluir o PID do processo usando a porta.
Você pode usar o netstat
combinado com as -np
bandeiras e um canal para os comandos find
ou findstr
.
O uso básico é o seguinte:
netstat -np <protocol> | find "port #"
Por exemplo, para verificar a porta 80 no TCP, você pode fazer o seguinte: O netstat -np TCP | find "80"
que acaba gerando o seguinte tipo de saída:
TCP 192.168.0.105:50466 64.34.119.101:80 ESTABLISHED
TCP 192.168.0.105:50496 64.34.119.101:80 ESTABLISHED
Como você pode ver, isso mostra apenas as conexões na porta 80 para o protocolo TCP.
Eu uso:
netstat –aon | find "<port number>"
aqui o representa o ID do processo. agora você pode fazer o que quiser com o ID do processo. Para finalizar o processo, por exemplo, use:
taskkill /F /pid <process ID>
quando tenho problemas com o apache WAMP, uso esse código para descobrir qual programa está usando a porta 80.
netstat -o -n -a | findstr 0.0:80
3068
é PID, para que eu possa encontrá-lo no gerenciador de tarefas e interromper esse processo.
Como observado em outro lugar: use netstat, com opções apropriadas e depois filtre os resultados com find [str]
O mais básico:
netstat -an | find ":N"
ou
netstat -a -n | find ":N"
Para encontrar uma porta estrangeira, você pode usar:
netstat -an | findstr ":N[^:]*$"
Para encontrar uma porta local, você pode usar:
netstat -an | findstr ":N.*:[^:]*$"
Onde N é o número da porta em que você está interessado.
-n
garante que todas as portas sejam numéricas, ou seja, não retornadas como traduzidas para nomes de serviço.
-a
garantirá que você pesquise todas as conexões (TCP, UDP, escutando ...)
Na find
sequência, você deve incluir os dois pontos, como qualificador da porta, caso contrário, o número pode corresponder a endereços locais ou estrangeiros.
Você pode restringir ainda mais a pesquisa usando outras opções de netstat conforme necessário ...
Leitura adicional (^ 0 ^)
netstat /?
find /?
findstr /?
netstat -a -n | find /c "10.240.199.9:8080"
ele fornecerá o número de soquetes ativos em um IP e porta específicos (número da porta do servidor)
FIND: Parameter format not correct
Para usuário do Windows 8: Abra o prompt de comando, digite netstat -an | encontre "o número da sua porta" , digite.
Se a resposta vier como LISTENING , a porta estará em uso, caso contrário, será gratuita.
Para melhorar a resposta do @ EndUzr :
Para encontrar uma porta estrangeira (IPv4 ou IPv6), você pode usar:
netstat -an | findstr /r /c:":N [^:]*$"
Para encontrar uma porta local (IPv4 ou IPv6), você pode usar:
netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "
Onde N é o número da porta em que você está interessado. A opção "/ r" indica para processá-lo como regexp. A opção "/ c" permite que o findstr inclua espaços nas cadeias de pesquisa em vez de tratar um espaço como um delimitador de cadeias de pesquisa. Esse espaço adicional evita que portas mais longas sejam maltratadas - por exemplo, ": 80" vs ": 8080" e outros problemas de remoção de porta.
Para listar conexões remotas com o servidor RDP local, por exemplo:
netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"
Ou para ver quem está tocando seu DNS:
netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"
Se você deseja excluir portas somente locais, pode usar uma série de exceções com "/ v" e escapar caracteres com uma barra invertida:
netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
Para a porta 80, o comando seria: netstat -an | encontre "80" Para a porta n, o comando seria: netstat -an | encontre "n"
Aqui, netstat é a instrução para sua máquina
-a: Exibe todas as conexões e portas de escuta -n: Exibe todos os endereços e instruções em formato numérico (isso é necessário porque a saída de -a pode conter nomes de máquinas)
Em seguida, um comando find para "Correspondência de padrão" a saída do comando anterior.
No RHEL 7, eu uso este comando para filtrar várias portas no estado LISTEN:
sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'
Este comando mostrará todas as portas e seu endereço de destino:
netstat -f
Use o comando lsof "lsof -i tcp: port #", aqui está um exemplo.
$ lsof -i tcp:1555
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 27330 john 121u IPv4 36028819 0t0 TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 201u IPv4 36018833 0t0 TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 264u IPv4 36020018 0t0 TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 312u IPv4 36058194 0t0 TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)
netstat
é lento apenas se você não usar o-n
switch, o que significa que ele precisa fazer muitas pesquisas de DNS.