Como usar o netstat no GNU / Linux

Experimente Nosso Instrumento Para Eliminar Problemas

Netstat é um utilitário muito poderoso que lista todas as conexões TCP e UDP, bem como as conexões de soquete unix que estão escutando as conexões e também as que estão conectadas. Embora muitos usuários domésticos não precisem necessariamente se preocupar com isso, os jogadores online, ou qualquer pessoa que pretenda hospedar qualquer tipo de servidor no futuro, certamente em algum momento precisará lidar com as portas.

O Netstat também é útil para segurança e privacidade, por exemplo, para descobrir quais programas 'conversam' com a Internet.

Usar o netstat pode ser um processo extremamente simples ou muito complicado e pesado, dependendo do uso; então, hoje veremos alguns dos usos mais comuns do Netstat.

Como prometido (no meu artigo ' Como encontro minhas informações de rede no Linux ? ') Vou apresentar o comando netstat. Esse comando é uma ferramenta muito útil para descobrir informações de rede, como tabelas de roteamento, conexões de rede, estatísticas de interface, conexões de máscara e associações multicast. Mas não é tão simples de usar como algumas das outras ferramentas de 'descoberta' (como ifconfig). Com o netstat, você realmente precisa saber o que está procurando e como encontrar. Este artigo o ajudará a entender exatamente isso.

Instalação?

Felizmente, sua distribuição deve vir com o netstat comando pré-instalado. Para verificar isso, abra uma janela de terminal (é onde você usará netstat de qualquer maneira) e execute o comando qual netstat . Este comando deve retornar algo como / bin / netstat . Isso informará que a ferramenta está instalada e onde está o executável.

Netstat Basics

O comando netstat básico se parece com:

netstat OPÇÕES DE ARGUMENTO

Onde ARGUMENT é o tipo de família de endereço sobre o qual você deseja obter informações e OPTIONS são as opções opcionais que especificarão o tipo de informação que você receberá de volta.

Como o netstat oferece uma variedade de opções, talvez seja melhor se eu primeiro listar algumas das opções mais úteis.

  • para : Mostra o estado de todos os soquetes e entradas da tabela de roteamento.
  • c : Exibir informações continuamente.
  • d : Mostra o estado de todas as interfaces que usam DHCP.
  • é : Mostra informações estendidas.
  • g : Mostra as informações de associação do grupo multicast para IPv4 e IPv6.
  • Eu : Exibir uma tabela de todas as interfaces de rede.
  • eu : Limita as estatísticas a uma interface definida.
  • M : Mostra as tabelas de roteamento multicast.
  • n : Mostra os endereços de rede como números em vez dos símbolos padrão.
  • p : Mostra tabelas de resolução de endereços.
  • P : Limita as estatísticas a um protocolo definido.
  • r : Mostra todas as tabelas de roteamento.
  • t : Mostra as conexões TCP.
  • você : Mostra as conexões UDP.
  • v : Use o modo detalhado para saída.

Então, vamos dar uma olhada e ver como eles podem ser usados ​​juntos.

netstat

Por si só (sem opções), este comando imprime estatísticas genéricas do host ao qual você está conectado no momento.

netstat -an

Este comando exibirá todas as conexões com o host, incluindo endereços e portas de origem e destino, e as exibirá como números.

netstat -rn

Este comando exibirá a tabela de roteamento para o host em formato numérico.

netstat -r

Este comando exibirá sua tabela de roteamento para seu host.

netstat -natp

Este comando exibirá as conexões TCP ativas em formato numérico.

netstat -t --listening

Isso mostrará todas as portas tcp que você hospeda em escuta.

netstat --statistics

Este comando exibirá várias estatísticas para as interfaces do seu host. Observe que este comando exibirá muitas estatísticas.

Como você pode ver, este comando exibirá algumas informações. Além disso, você pode precisar canalizar este comando por meio do comando less para vê-lo mais facilmente. Esse comando completo seria semelhante a netstat --statistics | Menos. Usando-o dessa forma, você poderá usar as teclas de seta para rolar para cima e para baixo na saída.

Dicas de uso para Netstat

Uma das maneiras mais básicas e comuns de usar o netstat é verificar quais portas estão escutando

  • netstat -l

O que dá algo parecido com meu sistema Antergos recém-instalado

netstat -l

Ou, se quiser focar um pouco mais sua pesquisa, você pode adicionar outra opção para classificar especificamente para diferentes tipos de conexões

  • netstat -lt # para TCP
  • netstat -lu # para UDP
  • netstat -lx # para Unix

Ou você pode ir para o extremo oposto do espectro e listar todas as conexões

  • netstat -a

Se preferir, outra opção que pode ser útil ter em mente é usar a opção 'n'. Ao usar netstat -n ou netstat -ltn por exemplo, todos os nomes de host não tentarão mais ser resolvidos e apenas os endereços IP serão mostrados, como no exemplo abaixo.

netstat-ltn

Como você pode ver, localhost no nome foi resolvido para seu valor numérico após usar a opção 'n'

Outra maneira de usar netstat é netstat -ie, o ‘i’ para interfaces e o ‘e’ para ‘extendido’, o que nos ajudará a fornecer uma saída mais legível por humanos.

netstat -ie # Isso nos mostrará uma lista de interfaces de rede e informações sobre cada dispositivo.

netstat ie

Dicas avançadas do Netstat

O que queremos fazer é dizer ao netstat para nos dar saída para aplicativos específicos que estão ouvindo conexões tcp. Para fazer isso, emitimos o comando:

  • netstat --tcp --listening --programs

A saída para este comando seria algo como:

Proto Recv-Q Send-Q Endereço Local Endereço Estrangeiro Stat PID / Programa
tcp 0 0 *: ssh *: * LISTEN 25469 / sshd
tcp 0 0 *: httpd *: * LISTEN 26754 / httpd
tcp 0 0 localhost: ipp *: * LISTEN -

Agora você pode ver algumas informações úteis. Na saída acima, você pode ver que tanto o sshd quanto o httpd estão ouvindo as conexões de entrada. O texto acima é apenas um trecho de como a saída pode ser. O que é muito útil sobre esse comando é que ele mostrará se há um comando ou endereço local escutando conexões de entrada que não deveriam estar escutando. Se você encontrar um aplicativo que não deveria estar escutando, elimine-o para ficar seguro.

Rota

Netstat é capaz de imprimir rapidamente a tabela de roteamento do kernel de sua máquina com o comando:

netstat -r

A saída deste comando será semelhante a:

Tabela de roteamento IP do kernel
Gateway de Destino Genmask Sinaliza janela MSS irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
padrão 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Estatisticas

Esta é uma das ferramentas netstat mais úteis. Com isso, você pode descobrir exatamente a estática de cada protocolo. A estrutura básica de comando é:

netstat --statistics

o que lhe dará muito mais informações do que você deseja. Digamos que você só queira ver as estatísticas do protocolo TCP. Para isso, você pode emitir o comando:

netstat -t --statistics

A saída do comando acima incluirá informações como:

Tcp:
4343 aberturas de conexões ativas
8 aberturas de conexão passiva
5 tentativas de conexão com falha
178 redefinições de conexão recebidas
6 conexões estabelecidas
59075 segmentos recebidos
60033 segmentos enviados
76 segmentos retransmitidos
0 segmentos inválidos recebidos.
303 redefinições enviadas

Ou você também pode obter informações sobre UDP com o comando:

netstat -u --statistics

O que forneceria uma saída semelhante para o protocolo UDP.

Seja criativo

E se você quisesse ver todos os endereços IP exclusivos conectados a um servidor? Você pode fazer isso com netstat (e com a ajuda de algumas outras ferramentas) assim:

netstat -nat | awk '{print $ 5}' | cut -d: -f1 | sed -e '/ ^ $ / d | uniq

A saída do comando acima dependeria de quanto tráfego sua máquina / servidor está recebendo. Mas incluirá todos os endereços IP exclusivos que tentam se conectar ao seu servidor.

Que tal verificar se o seu servidor está sob um ataque DOS? Você pode fazer isso com netstat assim:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | cut -d: -f1 | sort | uniq -c | sort -n

O comando acima listará os endereços IP que solicitam a maior quantidade de conexões ao seu servidor. Se você vir um número muito maior do que deveria, provavelmente está sob um ataque de negação de serviço.

Pensamentos finais

Netstat é uma daquelas ferramentas que você nunca pensará que vai precisar, até que de repente você precisa; e é sempre bom saber como usá-lo no caso de a necessidade surgir, pelo menos em algum nível básico. Para obter mais informações sobre como usar o comando netstat e suas opções, verifique as páginas de manual digitando homem netstat .

Agora você: Qual é o seu utilitário preferido para verificar as informações da rede e por quê? Deixe-nos saber nos comentários!

Artigos relacionados