Wireshark - Análise de Captura com Problemas na Rede
Índice:
- O que é porta de escuta
- Verificar portas de escuta com
netstat
- Verificar portas de escuta com
ss
- Verificar portas de escuta com
lsof
- Conclusão
Ao solucionar problemas de conectividade de rede ou problemas específicos de aplicativos, uma das primeiras coisas a verificar deve ser quais portas estão realmente em uso no sistema e qual aplicativo está escutando em uma porta específica.
Este artigo explica como descobrir quais serviços estão atendendo em quais portas usando os comandos
netstat
,
ss
e
lsof
. As instruções são aplicáveis a todos os sistemas operacionais baseados em Linux e Unix, como o macOS.
O que é porta de escuta
A porta de rede é identificada por seu número, o endereço IP associado e o tipo de protocolo de comunicação, como TCP ou UDP.
Porta de escuta é uma porta de rede na qual um aplicativo ou processo escuta, atuando como um terminal de comunicação.
Cada porta de escuta pode ser aberta ou fechada (filtrada) usando um firewall. Em termos gerais, uma porta aberta é uma porta de rede que aceita pacotes recebidos de locais remotos.
Você não pode ter dois serviços ouvindo a mesma porta no mesmo endereço IP.
Por exemplo, se você estiver executando um servidor da Web Apache que escuta nas portas
80
e
443
e tentar instalar o Nginx, a falha posterior será iniciada porque as portas HTTP e HTTPS já estão em uso.
Verificar portas de escuta com
netstat
netstat
é uma ferramenta de linha de comando que pode fornecer informações sobre conexões de rede.
Para listar todas as portas TCP ou UDP que estão sendo ouvidas, incluindo os serviços que usam as portas e o status do soquete, use o seguinte comando:
sudo netstat -tunlp
As opções usadas neste comando têm o seguinte significado:
-
-t
- Mostra portas TCP.-u
- Mostra portas UDP.-n
- Mostra endereços numéricos em vez de resolver hosts.-l
- Mostra apenas portas de escuta.-p
- Mostra o PID e o nome do processo do ouvinte. Esta informação é mostrada apenas se você executar o comando como usuário root ou sudo.
A saída será mais ou menos assim:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
As colunas importantes em nosso caso são:
-
Proto
- O protocolo usado pelo soquete.Local Address
- o endereço IP e o número da porta na qual o processo escuta.PID/Program name
- O PID e o nome do processo.
sudo netstat -tnlp | grep:22
A saída mostra que nesta porta da máquina 22 é usada pelo servidor SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Se a saída estiver vazia, significa que nada está escutando na porta.
Você também pode filtrar a lista com base em critérios, por exemplo, PID, protocolo, estado e assim por diante.
netstat
é obsoleto e substituído por
ss
e
ip
, mas ainda é um dos comandos mais usados para verificar as conexões de rede.
Verificar portas de escuta com
ss
ss
é o novo
netstat
. Falta alguns dos recursos do
netstat
, mas expõe mais estados TCP e é um pouco mais rápido. As opções de comando são basicamente as mesmas, portanto, a transição de
netstat
para
ss
não é difícil.
Para obter uma lista de todas as portas de escuta com
ss
, digite:
sudo ss -tunlp
A saída é quase a mesma que a relatada pelo
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Verificar portas de escuta com
lsof
lsof
é um poderoso utilitário de linha de comando que fornece informações sobre arquivos abertos por processos.
No Linux, tudo é um arquivo. Você pode pensar em um soquete como um arquivo que grava na rede.
Para obter uma lista de todas as portas TCP que estão escutando com o tipo
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
As opções usadas são as seguintes:
-
-n
- Não converte números de porta em nomes de porta.-p
- Não resolve nomes de host, mostra endereços numéricos.-iTCP -sTCP:LISTEN
- Mostra apenas arquivos de rede com o estado TCP LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
A maioria dos nomes das colunas de saída é auto-explicativa:
-
COMMAND
,PID
,USER
- O nome, o pid e o usuário executando o programa associado à porta.NAME
- O número da porta.
Para descobrir qual processo está escutando em uma porta específica, por exemplo, a porta
3306
você usaria:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
A saída mostra que a porta
3306
é usada pelo servidor MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
Para obter mais informações, visite a página de manual lsof e leia sobre todas as outras opções poderosas dessa ferramenta.
Conclusão
Mostramos vários comandos que você pode usar para verificar quais portas estão em uso no seu sistema e como encontrar o processo que escuta em uma porta específica.
terminalChina proíbe o uso de terapia de choque para tratar vício em internet depois que seu uso em um hospital provocou polêmica em todo o país. A China proibiu o uso da terapia de choque para tratar o vício em Internet depois que seu uso em um hospital provocou polêmica em todo o país. O hospital chamou a atenção da mídia nos últimos meses depois que usuários da internet afirmaram ter recebido o tratamento. Fóruns sobre ser amarrado e submetido a choques por 30 minutos de cada vez
Uma declaração no site do Ministério da Saúde chinês disse que a prática não tinha base médica e proibia seu uso clínico. A ordem proibiu a prática em todo o país, mas mencionou especificamente o notório hospital na província de Shandong. As ligações para o hospital de Shandong não foram respondidas na manhã de quarta-feira, mas uma porta-voz do hospital disse na semana passada que a mídia "sensacionalista" já havia tratamento. Os choques foram feitos para fazer com que os sujeitos associassem u
Como negar serviço a uma escuta federal
Pesquisadores descobriram falhas no padrão de escuta usado para definir como as chaves devem transmitir informações interceptadas às autoridades.
Como verificar (scan) para portas abertas no linux
Este artigo descreve várias abordagens para descobrir quais portas são abertas para o exterior no seu sistema Linux.