Resolver problemas de rede no Linux

Resolver problemas de rede no Linux

Neste artigo, explicaremos como solucionar problemas de rede no Linux usando o comando tcpdump.

tcpdump é um analisador de pacotes de linha de comando poderoso e flexível; e libpcap, uma biblioteca C / C ++ portátil para captura de tráfego de rede. Uma ferramenta poderosa e versátil que inclui muitas opções e filtros, o tcpdump pode ser usado em uma variedade de casos. Por ser uma ferramenta de linha de comando, é ideal para ser executado em servidores ou dispositivos remotos para os quais não há GUI disponível, para coletar dados que podem ser analisados ​​posteriormente. Ele também pode ser iniciado em segundo plano ou como uma tarefa agendada usando ferramentas como o cron.

Vamos começar com o processo de instalação.

1. Instale o tcpdump

Se o tcpdump ainda não estiver instalado em seu sistema, você pode instalá-lo usando o seguinte comando:

Para sistemas baseados em CentOS ou Red Hat Enterprise Linux:

# dnf install tcpdump -y

Para sistema baseado em Ubuntu:

# apt-get install tcpdump -y

2. Verifique a instalação

Para verificar a instalação, use o seguinte comando:

# which tcpdump

Saída:

/usr/sbin/tcpdump

Capture pacotes com tcpdump

Antes de capturar os pacotes, verifique a interface de rede usando os seguintes comandos:

# tcpdump -D

Ele exibirá todas as interfaces de rede disponíveis.

Agora, vamos começar a capturar alguns pacotes usando os seguintes comandos:

# tcpdump --interface any

Tcpdump continua a capturar pacotes até receber um sinal de interrupção. Você pode interromper a captura pressionando Ctrl + C. Para limitar o número de pacotes capturados e parar o tcpdump, use a opção -c (para contagem):

# tcpdump -i any -c 10

Desativar resolução de nome

Solucionando problemas de rede, geralmente é mais fácil usar os endereços IP e números de porta; desative a resolução de nome usando a opção -n e a resolução de porta com -nn:

# tcpdump -i any -c5 -nn

Como o comando acima irá capturar a saída agora exibe os endereços IP e números de porta.

Filtrando pacotes

Um dos recursos mais poderosos do tcpdump é sua capacidade de filtrar os pacotes capturados usando uma variedade de parâmetros, como endereços IP de origem e destino, portas, protocolos, etc. Vamos examinar alguns dos mais comuns.

Para capturar apenas pacotes ICMP, use os seguintes comandos:

# tcpdump -i any -c10 icmp

Limite a captura a apenas pacotes relacionados a um host específico usando o filtro de host:

# tcpdump -i any -c5 -nn host 192.168.0.12

O comando acima irá capturar e exibir apenas os pacotes de e para o host 192.168.0.12.

Para filtrar pacotes com base no serviço ou porta desejado, use o filtro de porta. Por exemplo, capture pacotes relacionados a um serviço da web (HTTP) usando este comando:

# tcpdump -i any -c10 -nn port 80

Para filtrar pacotes com base no endereço IP de origem ou destino ou no nome do host. Por exemplo, para capturar pacotes do host 192.168.0.12:

# tcpdump -i any -c10 -nn src 192.168.0.12

Salvar capturas em um arquivo

Para salvar pacotes em um arquivo em vez de exibi-los na tela, use a opção -w (para gravação):

# tcpdump -i any -c10 -nn -w webserver.pcap port 80

O comando acima permite capturar pacotes em lote durante a noite, por exemplo, e verificar os resultados pela manhã. Também ajuda quando há muitos pacotes para analisar, pois a captura em tempo real pode ocorrer muito rápido.

Mais comandos de exemplo

Para imprimir os pacotes inicial e final (os pacotes SYN e FIN) de cada conversação TCP que envolve um host não local.

# tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Para imprimir os pacotes TCP com sinalizadores RST e ACK definidos. (ou seja, selecione apenas os sinalizadores RST e ACK no campo sinalizadores, e se o resultado for "RST e ACK ambos definidos ', correspondem)

# tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

Para imprimir todos os pacotes IPv4 HTTP de e para a porta 80, ou seja, imprimir apenas pacotes que contenham dados, não, por exemplo, pacotes SYN e FIN e pacotes apenas ACK. (IPv6 é deixado como um exercício para o leitor.)

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) -="" ((tcp[12]&0xf0)="">>2)) != 0)'

Para imprimir pacotes IP com mais de 576 bytes enviados por meio do gateway snup:

# tcpdump 'gateway snup and ip[2:2] > 576'

Para imprimir pacotes de difusão IP ou multicast que não foram enviados via difusão Ethernet ou multicast:

# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Para imprimir todos os pacotes ICMP que não são solicitações / respostas de eco (ou seja, não são pacotes de ping):

# tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Verifique a página do manual usando o seguinte comando:

# man tcpdump

Neste artigo, vimos como solucionar problemas de rede no Linux usando o comando tcpump.

Obtenha um servidor dedicado dual série E5 de alto desempenho e KVM VPS barato.


Como instalar e configurar CSF (ConfigServer Security & Firewall) no CentOS 7

Como instalar e configurar CSF (ConfigServer Security & Firewall) no CentOS 7

ConfigServer Security & Firewall (também chamado de csf) é um firewall Stateful Packet Inspection (SPI). Aprenda a instalar e configurar o CSF ​​no CentOS 7

Como instalar o R1Soft Backup Agent no CentOS

Como instalar o R1Soft Backup Agent no CentOS

Aprenda a instalar o R1Soft Backup Agent no CentOS e configurá-lo. O R1Soft Server Backup Manager oferece aos provedores de serviços uma solução flexível e amigável ao servidor.

Como modificar os limites LVE do CloudLinux

Como modificar os limites LVE do CloudLinux

Neste artigo, explicamos como modificar os limites do CloudLinux LVE. Então vamos começar. Os limites LVE do CloudLinux podem ser alterados usando o gerenciador LVE.

Como alterar o SSH da porta do servidor Linux

Como alterar o SSH da porta do servidor Linux

Para alterar a porta SSH do servidor Linux, você precisa fazer o login no servidor via SSH e modificar o arquivo de configuração SSH.

Como instalar o Centova Cast no CentOS

Como instalar o Centova Cast no CentOS

Centova Cast é a plataforma de gerenciamento líder para streams de rádio na Internet, fornecendo ampla visão e controle para provedores de hospedagem de stream.

Como configurar a retransmissão de e-mail em seu servidor de e-mail

Como configurar a retransmissão de e-mail em seu servidor de e-mail

Você pode superar os problemas de envio de e-mail usando as seguintes configurações de retransmissão de e-mail.

Como instalar o Apache, MariaDB, PHP e phpMyAdmin no Ubuntu 18.04

Como instalar o Apache, MariaDB, PHP e phpMyAdmin no Ubuntu 18.04

Vamos aprender a instalar Apache MariaDB PHP e PHPMyAdmin no servidor Ubuntu 18.04. Apache, MySQL / MariaDB e PHP são compostos de pacotes. É conhecido como LAMP

Aprenda gerenciamento básico de usuários no Linux

Aprenda gerenciamento básico de usuários no Linux

Você deseja adicionar, modificar ou excluir um usuário no Linux? Aqui está o artigo perfeito para você.

Aprenda Gerenciamento de Grupo Básico no Linux

Aprenda Gerenciamento de Grupo Básico no Linux

Saiba mais sobre gerenciamento de grupo no Linux. Como adicionar grupo, modificar grupo e excluir grupo, adicionar membros no Linux. Crie um novo grupo, use o comando groupadd.

Aprenda a instalar o Fail2ban no CentOS 7

Aprenda a instalar o Fail2ban no CentOS 7

Fail2ban é muito útil para proteger a conexão SSH. Agora você deve ser capaz de instalar e configurar fail2ban em centos7, adicionar uma camada extra de segurança ao servidor