Exibindo o estado das conexões TCP no Linux

Em um post anterior apresentei um comando que exibia apenas o número de conexões ativas em um servidor/desktop Linux. Dessa vez apresento um comando que exibi o estado de todas as conexões:

$ netstat -a -n| sed '/^tcp/!d'|cut -c 68-|sort|uniq -c|sort -n

1 SYN_RECV
3 CLOSING
7 FIN_WAIT1
8 SYN_SENT
17 LISTEN
18 CLOSE_WAIT
18 FIN_WAIT2
656 TIME_WAIT
688 ESTABLISHED

No exemplo acima são exibidas as conexões de um servidor de e-mail.

Descobrindo qual ftp é o mais rápido

Imagine que você precisa baixar um arquivo e ao verificar descobre que existem vários mirrors que disponibilizam o mesmo arquivo. Por alguns segundos, você para e pensa “e agora? qual eu escolho?” Bem, de duas uma: ou vai no chute escolhendo qualquer um, ou começa a baixar e se verificar que está muito lento desiste e começa em outro mirror.

Pois bem, como diria o seu Creisson: Seus problemas acabaram! O comando netselect, efetua alguns testes de desempenho em endereços ftp passados como parâmetro.

# netselect -vv ftp.debian.org ftp.br.debian.org
Running netselect to choose 1 out of 2 addresses.
............
ftp.debian.org 177 ms 19 hops 90% ok ( 9/10) [ 568]
ftp.br.debian.org 9999 ms 30 hops 0% ok
568 ftp.debian.org

Existe também outro comando (para quem utiliza ubuntu/debian) que cria um arquivo sources.list (endereço dos repositórios para instalação/atualização de pacotes) baseando-se nos mirrors do próprio apt: netselect-apt

# netselect-apt
Using distribution stable.
Retrieving the list of mirrors from www.debian.org...
--22:06:36-- http://www.debian.org/mirror/mirrors_full
=> `mirrors_full'
Resolving www.debian.org... 194.109.137.218
Connecting to www.debian.org[194.109.137.218]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 165,115 1
100%[==========================================>] 165,115 65.38K/s
22:06:40 (65.27 KB/s) - `mirrors_full' saved [165115/165115]
>Choosing a main Debian mirror using netselect.
netselect: unknown host debian.mirror.cygnal.ca
netselect: unknown host cdn.mirror.garr.it
netselect: unknown host debian.marked.no
netselect: unknown host mirrors.terrabox.com
Running netselect to choose 1 out of 297 addresses.
................................................
The fastest server seems to be:

http://mirror.eftel.com/debian/

Choosing a non-US Debian mirror using netselect.
netselect: unknown host debian.mirror.cygnal.ca
netselect: unknown host cdn.mirror.garr.it
Running netselect to choose 1 out of 212 addresses.
................................................
The fastest non-US server seems to be:

http://linux.iq.usp.br/debian-non-US/

Writing sources.list.
Done.
#


Technorati : , , ,

Dig, consultando DNS

Para quem não conhece, o Dig (Domain Information Groper) é um utilitário para consultas a DNS. Ele é normalmente utilizado para identificar problemas de DNS por ser uma ferramenta flexivel, fácil de utilizar e permitir um retorno das pesquisas de fácil compreensão.

o comando básico é:

# dig @servidor nome tipo

onde:

  • servidor: é o endereço IP ou nome do servidor smtp que será consultado;
  • nome: é o nome domínio que estamos consultando;
  • tipo: é o tipo de consulta. Pode ser MX (serviço de e-mail), A (endereço), ANY (todas as informações), etc. Se não preenchido o tipo padrão é A.

Existem várias opções de consulta, a que acho mais interessante é a +trace. Quando ela é utilizada, a saída apresenta todas as respostas desde os rootservers, incluindo qual deles respondeu. Um exemplo:

# dig @dns1.univali.br www.inf.ufsc.br A +trace

Qualquer outra informação: man dig ;)