Como o traceroute e o tracepath executam uma função semelhante de maneira diferente?
Ambos os programas fazem essencialmente uma coisa: enviar e receber determinados pacotes IP.
Você pode usar a API de soquetes normais para fazer isso ou pode manipular os pacotes brutos da interface. A API de soquetes não requer privilégios de root, porque é bastante segura. Existem mecanismos embutidos para impedir que um programa acesse pacotes IP que outro programa criou.
O Tracepath usa a API de soquetes para todas as suas funcionalidades. O Traceroute manipula pacotes brutos para algumas de suas funcionalidades.
O que o traceroute faz, que requer privilégios de root, que o tracepath não faz?
Ele manipula pacotes brutos.
Para manipular pacotes brutos, você precisa de privilégios de root porque, ao fazer isso, ignora os mecanismos de segurança da API de soquetes. Você obtém acesso às comunicações de todos os outros processos e usuários usando essa interface. Pense no que um vírus poderia fazer se ele pudesse manipular pacotes brutos.
Existem cenários em que se deve preferir o caminho do traçado ao traceroute ou vice-versa?
Um comando avançado disponível no Traceroute é a capacidade de executar um rastreamento de rede usando o protocolo IPv4 ou IPv6. Também é possível escolher entre os formatos de dados ICMP, TCP ou UDP para uma análise. O Traceroute pode escolher roteamentos de origem específicos para o probe e escolher de qual porta enviar. Ele pode definir limites no TTL mínimo e máximo para aceitar de uma análise de saída. Além disso, o Traceroute pode mostrar o tempo de espera dos pings de resposta, além de definir quantos pacotes são enviados em cada análise e quantas análises devem ser enviadas. Alguns desses comandos podem não ser suportados pelo hardware de rede ao longo do caminho, que pode encerrar o probe antes de atingir seu destino.
fontes:
1
2
3
Você pode usar o
traceroute
rastreamento de rede avançado, pode escolher entre os protocolos IPv4 e Ipv6, também pode escolher entre os formatos de dados ICMP, TCP ou UDP para uma análise.Portanto,
traceroute
tem opções mais avançadas do que astracepath
que usam pacotes UDP para rastreamento.Agora, sobre os privilégios de superusuário :
você pode usar
traceroute
com um usuário normal e um superusuário que depende da opção que deseja usar, eis um exemplo:Aqui estamos usando pacotes UDP que não precisam de privilégios de superusuário
Aqui estamos usando pacotes de eco ICMP que precisam de privilégios.
Por pacotes ICMP, você pode fazer um ataque DDOS.
Para aprender sobre as opções do ICMP Página do Traceroute
Para visualizar as
traceroute
opções, digite o terminalman traceroute
O ICMP precisa de privilégios de superusuário, para garantir que apenas os administradores possam usar algumas de suas opções, porque ele pode ser usado para fazer ping da morte e coletar informações sobre uma rede específica, o privilégio aqui dará ao superusuário a capacidade de alterar opções usando o ICMP pacotes.
Você pode vê-lo, ao tentar
www.microsoft.com
executar o ping em sites como o seu, o ping falhará até online, e isso porque os roteadores da Microsoft bloqueiam ICMP_requests.Portanto, o linux protege o sistema de usuários não privilegiados, para que eles não possam usar esses comandos para atacar.
fonte
Eu acho que você tem que ler este http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html
No link acima:
fonte
traceroute
acesso de superusuário requer (especialmente porque parece realmente menor do que otracepath
padrão)? E, além dos cenários em que você não é um superusuário, por que você deve escolher um sobre o outro?ping
etraceroute
use o protocolo ICMP. Como o UDP e o TCP, isso é acessível através da API de soquetes normais. Somente números de porta UDP e TCP menores que 1024 são protegidos contra uso, exceto pela raiz. O ICMP está disponível gratuitamente para todos os usuários.Se você realmente deseja ver como o ping e o traceroute funcionam, você pode baixar um exemplo de implementação de código C para eles no CodeProject .
Em resumo, eles simplesmente abrem um soquete ICMP e o traceroute altera os incrementos do TTL usando o setsockopt até que o alvo seja atingido.
Fonte: Link
fonte