Categories
Programação Tutoriais Ubuntu

Aprenda mais sobre redes, brincando de guerra nas estrelas no terminal

A função do comando tracepath é traçar um caminho até um determinado host na rede, mostrando todos os computadores, pelos quais as informações são transportadas, até chegar ao seu destino.
O tracepath e o traceroute são usados em variados testes de rede, uma vez que permitem estabelecer alguns diagnósticos úteis aos administradores.
Combinados a outros comandos, são ferramentas poderosas.

Obi wan kenobi
Saiba como combinar os comandos traceroute e ping, com o MTR.

Guerra nas Estrelas com traceroute

Neste texto, vou usar uma brincadeira, originalmente feita com o comando traceroute — criada por Ryan Werber.
Neste primeiro exemplo, vamos usar o comando tracepath para traçar a rota para 216.81.59.173. Veja como:


tracepath 216.81.59.173

No Linux, o comando tracepath é um substituto do traceroute e ambos serão substituídos por tracepath6 e traceroute6, que respondem adequadamente ao novo padrão IPv6.

Veja o resultado da brincadeira:

 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.254.254                                      25.404ms 
 1:  192.168.254.254                                       3.934ms 
 2:  192.168.254.254                                       1.725ms pmtu 1492
 2:  200-217-31-20.host.telemar.net.br                   103.055ms 
 3:  200199126045.user.veloxzone.com.br                  146.114ms 
 4:  200.223.41.27                                       116.835ms 
 5:  BA199060236.user.veloxzone.com.br                   133.670ms asymm  6 
 6:  core1.nyc4.he.net                                   157.572ms 
 7:  100ge5-1.core1.ash1.he.net                          266.011ms 
 8:  10ge1-2.core1.atl1.he.net                           264.073ms asymm  7 
 9:  216.66.0.26                                         161.405ms asymm  8 
10:  no reply

11:  Episode.IV                                          186.801ms asymm 10 
12:  A.NEW.HOPE                                          180.131ms asymm 10 
13:  It.is.a.period.of.civil.war                         180.458ms asymm 10 
14:  Rebel.spaceships                                    293.900ms asymm 10 
15:  striking.from.a.hidden.base                         192.044ms asymm 10 
16:  have.won.their.first.victory                        205.686ms asymm 10 
17:  against.the.evil.Galactic.Empire                    182.002ms asymm 10 
18:  During.the.battle                                   188.845ms asymm 10 
19:  Rebel.spies.managed                                 199.371ms asymm 10 
20:  to.steal.secret.plans                               193.566ms asymm 10 
21:  to.the.Empires.ultimate.weapon                      229.370ms asymm 10 
22:  the.DEATH.STAR                                      224.154ms asymm 10 
23:  an.armored.space.station                            196.797ms asymm 10 
24:  with.enough.power.to                                202.079ms asymm 10 
25:  destroy.an.entire.planet                            233.105ms asymm 10 
26:  Pursued.by.the.Empires                              184.205ms asymm 10 
27:  sinister.agents                                     284.815ms asymm 10 
28:  Princess.Leia.races.home                            216.557ms asymm 10 
29:  aboard.her.starship                                 193.549ms asymm 10 
30:  custodian.of.the.stolen.plans                       204.055ms asymm 10 

     Too many hops: pmtu 1492
     Resume: pmtu 1492

Veja, na parte em destaque (acima), a brincadeira feita pelo Sr. Werber, usando vários hosts Cisco.
Se você tiver interesse em ver o texto completo (de Star Wars IV) pode acrescentar o parâmetro -m. Veja como:


tracepath -m 58 216.81.59.173

Antes de continuar, experimente o comando com o seguinte endereço (o resultado deve ser o mesmo):


tracepath -m 58 obiwan.scrye.net

Filtre os resultados com seq, xargs e dig

Veja como fica o texto puro, usando os filtros seq, xargs e dig. Veja o código:

$ ( seq 1 8 200 ; seq 6 8 200 ) | sort -n | xargs -I{} -n 1 dig +short -x 206.214.251.{}

O comando dig (Domain Information Groper) é uma ferramenta usada para interrogar servidores de nome DNS.

Veja como ficou pra mim:

Episode.IV.
A.NEW.HOPE.
It.is.a.period.of.civil.war.
Rebel.spaceships.
striking.from.a.hidden.base.
have.won.their.first.victory.
against.the.evil.Galactic.Empire.
During.the.battle.
Rebel.spies.managed.
to.steal.secret.plans.
to.the.Empires.ultimate.weapon.
the.DEATH.STAR.
an.armored.space.station.
with.enough.power.to.
destroy.an.entire.planet.
Pursued.by.the.Empires.
sinister.agents.
Princess.Leia.races.home.
aboard.her.starship.
custodian.of.the.stolen.plans.
that.can.save.her.
people.and.restore.
freedom.to.the.galaxy.
0-----I-------I-----0.
0------------------0.
0-----------------0.
0----------------0.
0---------------0.
0--------------0.
0-------------0.
0------------0.
0-----------0.
0----------0.
0---------0.
0--------0.
0-------0.
0------0.
0-----0.
0----0.
0---0.
0--0.
0-0.
00.
I.
By.Ryan.Werber.
Blizzards.Breed.CCIE.Creativity.
Please.Try.Again.Tracerote.to.obiwan.scrye.net.
read.more.at.beaglenetworks.net.

Por fim, se você continuar a brincadeira, pode ver uma “encenação” ASCII do filme Star Wars IV, via telnet:


telnet towel.blinkenlights.nl

Saiba mais sobre o tracepath

O comando tracepath tem mais algumas opções (sérias) para quem deseja obter um diagnóstico específico da rede.
Se você tem acesso a uma rede IPv6, pode se sentir melhor servido com a versão moldada para estas necessidades específicas — o tracepath6.
Ao final do texto, na seção “leia mais”, há um link para um post que ensina a acessar redes IPv6.
Veja algumas das opções do comando:

  • -n — suprime os nomes dos hosts. A brincadeira que vimos acima perderia a graça. Experimente para ver apenas os números dos IPs.
  • -b — este é o comportamento padrão, que lista os endereços IP e os nomes dos hosts.
  • -l — altera o tamanho padrão do pacote enviado.
  • -m — aumenta a quantidade de hops. Nós usamos esta opção, em alguns exemplos acima, para ver uma quantidade maior de nomes de hosts.

Que a força esteja com você! 😉
[blog_subscription_form]

LEIA MAIS

Referências:

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.