Como monitorar a atividade da rede em um sistema Linux
- 3700
- 412
- Mr. Mitchell Hansen
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
Requisitos de software e convenções usadas
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.
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ídaNa 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 estabelecidosudo 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
- « Como usar o nginx para redirecionar todo o tráfego de HTTP para HTTPS
- Melhores jogos de terminal no Linux »