Comando Traceroute
Traceroute É uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores e que utiliza os protocolos IP e ICMP.
Traceroute
Traceroute Ele é usado para testes, medidas e gerenciamento da rede. O traceroute pode ser utilizado para detectar falhas como, por exemplo, gateways intermediários que descartam pacotes ou rotas que excedem a capacidade de um datagrama IP. Com esta ferramenta, o atraso da "viagem" do pacote entre a origem e gateways intermediários são reportados, permitindo determinar a contribuição de cada gateway para o atraso total da "viagem" do pacote desde a origem até o seu destino. Versões melhoradas do Traceroute permitem a especificação de rotas livres de origem. Isto permite identificar qual o caminho de retorno que as máquina remotas fazem até o host local.
Como o traceroute funciona O comando traceroute envia pacotes de pesquisa UDP (UDP probe packets) com um pequeno "time-to-live" máximo (variável Max_ttl), o time to live significa o número de saltos entre máquinas que os pacotes podem demorar numa rede de computadores antes de serem descartados, e então, espera por pacotes de resposta "ICMP TIME_EXCEEDED" dos gateways que estão no caminho. Os pacotes UDP começam com um valor Max_ttl de 1 hop (salto), que é incrementado de 1 hop a cada vez, até que uma mensagem "ICMP PORT_UNREACHABLE" é retornada. Esta mensagem indica que o host destino foi localizado ou que o comando traceroute atingiu o valor máximo de hops permitido para o "trace".
Como o traceroute funciona Se as respostas ao "probe" vêm de gateways diferentes, o traceroute imprime o endereço IP de cada um deles. Se não houver resposta ao "probe" dentro de um intervalo de "time-out" de três segundos, um * (asterisco) é impresso. Se a maioria das pesquisas (probes) resultam em um erro, o comando traceroute encerra a execução.
Como o traceroute funciona O traceroute envia três "probes" a cada Max_ttl indicando: O valor Max_ttl O endereço do gateway O tempo de ida e volta (round trip) de cada "probe" bem sucedido.
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] O único parâmetro obrigatório para o comando traceroute é o nome ou o o número IP do host destino. O tamanho do pacote UDP (UDP probe packet) é de 38 bytes, mas pode ser aumentado especificando o tamanho do pacote (em bytes) após o nome ou número IP do destino.
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] -m Max_ttl Especifica um "time-to-live" máximo (número máximo de hops) usado nos pacotes de pesquisa UDP. O default é 30 hops (o mesmo dafault utilizado para conexões TCP). -n Mostra o endereço IP de cada gateway encontrado no caminho (da origem ao destino).
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] -p Port Especifica o número base da porta UDP utilizada na pesquisa do traceroute. O default é 33434. O comando traceroute depende de um intervalo de portas UDP abertas de "base a base + número de hops - 1" no host destino. Se uma porta UDP não está disponível, esta opção pode ser usada para pegar um intervalo de portas não utilizadas. -q Nqueries Especifica o número de pacotes UDP (UDP probes) que o comando traceroute envia a cada Max_ttl. O default é três pacotes.
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] -r Desvia das tabelas de roteamento e envia os pacotes de pesquisa diretamente a um host. Se este host não está na rede, um erro é retornado. -s SRC_Addr Usa o endereço especificado (SRC_Addr) como o endereço de origem dos pacotes UDP enviados.. Se o endereço IP especificado não for válido, um erro é retornado e nada é enviado.
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] -t TypeOfService Atribui um valor entre 0 e 255 para a variável TypeOfService do pacote de pesquisa UDP. O default é 0 (zero). Esta opção pode ser utilizada para descobrir se diferentes tipos de serviços resultam em diferentes caminhos. -v Recebe pacotes diferentes de TIME-EXCEEDED e PORT-UNREACHABLE. -w WaitTime Especifica o tempo (em segundos) a esperar pela resposta a um pacote de pesquisa UDP. O default é 3 segundos.
Sintaxe do Traceroute traceroute [-m Max_ttl] [-n] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize] Host Especifica o host destino, pelo nome ou pelo seu número IP. Este parâmetro é obrigatório. PacketSize Especifica o tamanho (em bytes) do pacote UDP de pesquisa (probe). O default é 38 bytes.
Monitis - Visual Trace Route Tool Basta digitar o URL ou o endereço IP e clicar no botão Start Test. http://www.monitis.com/traceroute/
Monitis - Visual Trace Route Tool
Tutorial Sobre o Traceroute Neste link você pode acessar um tutorial em video: Network Troubleshooting using the TRACERT (TRACEROUTE) Command https://www.youtube.com/watch?v=x_3dwsqkhb8
Conceitos Importantes Socket é um mecanismo de comunicação, usado normalmente para implementar um modelo cliente/servidor, e que permite a troca de mensagens entre os processos de uma máquina/aplicação. Podemos separá-las por dois modos de comunicação: O modo online: usando o TCP. Neste modo de comunicação, uma conexão estável é estabelecida entre os dois processos, de modo que o endereço de destino não é necessário para cada envio de dados. A entrega de dados é confirmada. O modo offline usando o protocolo UDP. Este modo requer o endereço de destino para cada envio, e nenhuma confirmação é dada.
Conceitos Importantes De uma forma geral, existe uma aplicação que cria um socket servidor e uma outra aplicação que implementa um cliente. Existem principalmente dois tipos de sockets: Socket_Stream (ou TCP) ou SOCK_DGRAM (ou UDP). Os sockets TCP garantem fiabilidade na comunicação, ou seja, garatem a entrega dos pacotes. Os sockets UDP não dão garantia na entrega de pacotes a nível da camada de transporte.
Referências Bibliográficas [1] http://loopyn.com.br/blog/introducao-sockets-com-python/#sthash.kckhsliy.dpbs [2] https://blogs.oracle.com/ksplice/entry/learning_by_doing_writing_your [3] http://penta.ufrgs.br/uel/graziela/graznw13.htm