Como monitorar a atividade da rede em um sistema Linux

Como monitorar a atividade da rede em um sistema Linux

Há muitas razões pelas quais você pode monitorar a atividade de rede em seu sistema Linux. Você pode estar solucionando um problema de rede, pode verificar se não há aplicativos maliciosos criando atividade de rede suspeita, ou pode simplesmente saber se algum processo está telefonando para casa. Seja qual for o motivo, aqui estão alguns métodos para ver quais processos em seu sistema estão envolvidos na atividade de rede e com quem eles estão se comunicando.

Neste tutorial, você aprenderá:

  • Como monitorar conexões de rede e serviços de escuta com o NetStat
  • Como monitorar conexões de rede e serviços de escuta com LSOF
  • Como monitorar conexões de rede e serviços de escuta com ifconfig
  • Quais ferramentas você pode usar para examinar os dados que estão sendo enviados pela rede
Como monitorar a atividade da rede em um sistema Linux

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Independente da distribuição
Programas netstat, lsof, ifconfig, wireshark, tcpdump
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux fornecidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$ - exige que os comandos Linux sejam executados como um usuário não privilegiado regular

Netstat

Netstat é um utilitário poderoso que pode imprimir conexões de rede, tabelas de roteamento, estatísticas de interface, conexões de máscaras e associações multicast. Nós o usaremos para realizar o primeiro.

Instalando o NetStat

Nos sistemas baseados em Debian e Debian, como o Ubuntu, use APT.

# APT Install-tools 

Em Red Hat Enterprise Linux e Red Hat Systems, use Yum,

# yum instalar ferramentas de rede

Em sistemas baseados em arco, use Pacman.

# Pacman -S -Tools 


OBSERVAÇÃO
Nos exemplos a seguir, estamos usando uma nova instalação do RHEL 8 em execução no VirtualBox com adições de convidados instaladas

Ver processos de escuta

Primeiro, vamos ver os processos que estão ouvindo conexões. Para fazer isso, entre no seguinte comando.

$ sudo netstat -tulpen 

Neste comando t displays TCP conexões, você Exibe conexões UDP, eu mostra apenas soquetes de escuta, p mostra o programa ao qual a conexão pertence,e mostra informações estendidas e n representa endereços, usuários e portas numericamente.

NETSTAT -TULPEN Saída

Ao considerar o modelo do servidor cliente em que a maioria dos softwares de rede se baseia, os processos de escuta podem ser considerados como software que está no modo "servidor". Não há nada surpreendente na saída, dada a nossa configuração. Estes são todos os processos que você esperaria ouvir para conexões de rede em uma nova instalação do RHEL 8 em execução VirtualBox.

Para cada processo de audição, você pode ver o protocolo sendo usado, endereço local e porta está ouvindo, o usuário em que está sendo executado e o nome do PID/programa. Há uma distinção importante a ser observada aqui. Para TCP4/udp4 conexões (simplesmente listadas como TCP e UDP) onde o Endereço local está listado como 0.0.0.0 O processo está ouvindo conexões de qualquer máquina capaz de se conectar a ela sobre a rede, enquanto quando for listada como 127.0.0.1 É apenas ouvindo conexões no host local (a máquina em que está funcionando ou em si) e não pode ser conectada por outros computadores na rede. A mesma distinção é verdadeira para TCP6/udp6 Ao comparar um Endereço local de ::(Rede enfrentando) e :: 1(Somente localhost).

Veja todas as conexões de rede

Agora vamos dar uma olhada em todas as conexões de rede atuais. Para fazer isso, insira o seguinte comando, que é semelhante ao anterior, exceto que usamos -a para ver todos os soquetes em vez de -eu para apenas ver soquetes de escuta.

$ sudo netstat -atupen 


Além de nos mostrar qual software ouvindo conexões como "servidores", esse comando também nos mostra conexões atualmente estabelecidas com esse software e quaisquer conexões de rede estabelecidas que temos usando software atuando como um "cliente", como um navegador da web.

NetStat -ATUPEN Saída

Na captura de tela, você notará 2 conexões no Estabelecido estado. Mais uma vez, não há surpresas aqui. Um deles pertence ao NetworkManager e trabalha como um cliente DHCP para ativar a rede do servidor Gateway (neste caso, a máquina host). O outro é uma conexão SSH com a máquina que fabricamos após o encaminhamento de porta SSH com o VirtualBox. Se tivéssemos visto algo inesperado aqui, pode ser motivo para uma investigação mais aprofundada.

Ver conexões estabelecidas

Você pode se encontrar em uma situação em que você só deseja ver o Estabelecido conexões. Isso é tão fácil quanto tubar -se a saída do netstat para o grep como.

$ sudo netstat -atupen | Grep estabelecido 
sudo netstat -atupen | Saída estabelecida de Grep

Entramos no comando acima depois de navegar para a Wikipedia.com no Firefox e na captura de tela captura as conexões estabelecidas pelo Firefox ao chegar ao local. Como você pode ver, existem quatro servidores aos quais o Firefox conectou; 91.198.174.192, 172.217.23.100, 216.58.215.67, e 104.111.215.142.
Para ver a quem esses servidores pertencem, podemos consultar os endereços IP com whois como assim.

$ whois 91.198.174.192 | menos 

Fazer isso para cada um deles revela que pertencem à Wikimedia, Google, Google e Akamai, respectivamente.
Isso faz sentido, considerando que a Wikimedia possui e hospeda a Wikipedia e é muito comum que os sites carreguem recursos hospedados em servidores de propriedade do Google e Akamai. De fato, examinar o código-fonte da página inicial da Wikipedia revela que ele carrega o aplicativo do Google Play Store-Badge do Google.com e o aplicativo Apple Appstore-Badge da Apple.com.

Navegando para os URLs para esses dois crachás de aplicativos individualmente e emitindo o comando NetStat acima, verifica se eles estão hospedados em servidores de propriedade do Google e Akamai, respectivamente,.

Se isso despertou seu interesse em netstat Em seguida, temos um artigo que você pode ler para saber mais sobre o uso do comando netStat

ss

O netstat O comando tem sido o favorito dos sysadmins, no entanto, foi recentemente substituído pelo ss comando que se orgulha de ser mais rápido, mais fácil e mais humano legível do que netstat. Vamos ver como realizar as mesmas ações executadas acima usando ss. Ss também tem um -e Opção para visualizar informações estendidas, mas essa opção foi omitida dos exemplos abaixo porque produz informações adicionais que podem resultar em saída menos legível.

Ver processos de escuta

Para ver todos os processos de escuta, digite o seguinte.

$ sudo ss -tlunp 


Neste comando t displays TCP conexões, eu mostra apenas soquetes de escuta, você Exibe conexões UDP, n representa endereços, usuários e portas numericamente, e p mostra o programa ao qual a conexão pertence.

Veja todas as conexões de rede

Para ver todas as conexões de rede, digite o seguinte, onde a substitui eu e mostra todos os soquetes de rede não apenas ouvindo os.

$ sudo ss -taunp 

Ver conexões estabelecidas

Se -a ou -eu não estão incluídos então ss só mostrará conexões estabelecidas. Para ver apenas conexões estabelecidas, digite o seguinte.

$ sudo ss -tunp 

LSOF

Apenas no caso de netstat e ss Não bastava para você, apresentamos LSOF. LSOF é usado para listar arquivos abertos. GNU/Linux herdou o princípio do design do UNIX de que tudo é um arquivo; Isso inclui conexões de rede. Como resultado, LSOF pode ser usado para visualizar a atividade de rede de maneira semelhante aos comandos acima mencionados.

Veja todas as conexões de rede

Para visualizar todas as conexões de rede, digite o seguinte.

$ sudo lsof -np -i 

Neste comando n representa os endereços numericamente, P representa portas numericamente e eu suprime a lista de arquivos abertos que não são considerados arquivos de rede.

Ver conexões estabelecidas

Para visualizar apenas as conexões estabelecidas, insira o seguinte onde os interruptores adicionais listam todos estabelecidos TCP conexões.

$ sudo lsof -np -itcp -stcp: estabelecido 

Ver processos de escuta

Para ver os processos de escuta usando LSOF Digite o seguinte.

$ sudo lsof -np -itcp -stcp: Ouça

Isso perderá qualquer processo que esteja ouvindo sobre o UDP, por isso pode ser desejável entrar no seguinte para incluí -los também.

$ sudo lsof -np -i | grep 'escute \ | udp' 

Monitorando os dados sendo enviados pela rede

Vimos como netstat, ss, e ifconfig pode ser usado para monitorar quais conexões de rede estão sendo feitas e a quem, mas muitas vezes é desejável ver exatamente quais dados estão sendo enviados pela rede. Para atingir esse objetivo, exigimos aplicativos capazes de cheirar pacotes. Dois programas especializados nesta área são tcpdump e Wireshark.

Anteriormente, escrevemos guias sobre como instalar o Wireshark no RHEL 8, o básico do analisador de protocolo de rede Wireshark no Linux, filtrando pacotes no Wireshark no Kali Linux e o Monitoramento da rede A seção do sistema Linux e o monitoramento de hardware fabricado eficiente inclui uma boa introdução a tcpdump.

Conclusão

Neste artigo, discutimos como visualizar processos de escuta, conexões estabelecidas e todas as conexões de rede usando netstat, ss, e ifconfig. Em seguida, introduzimos ferramentas para examinar os dados reais transmitidos pela rede e vinculados a ótimos recursos que são inestimáveis ​​para descobrir como usá -los.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Coisas para instalar no Ubuntu 22.04
  • Instale Arch Linux na estação de trabalho VMware
  • Como fazer bota dupla kali linux e windows 10
  • Ubuntu 20.04 Guia
  • Download do Linux