tracepath 和 traceroute有什么区别

回答·1
最热
最新
  • 先说原理:原则上来说实现的功能是一样的,而从协议上来讲都是使用了icmp协议的差错报文来来实现功能的,发送一个ttl为1的数据包,网络转发设备收到数据包后会将ttl减少1,当ttl值为0时就会按照协议要求给源主机返回一个icmp超时的报文,报文里面就会包含该网络设备的ip地址,以此为基础,第二次再发一个ttl值加1的报文,第三次再发一个ttll值比第二次大1的数据包,以此类推,直到数据包到达主机或者到达跟踪限制为止,就获取到沿途所有三层转发设备的IP地址。 再说区别:前者通过api实现,后者通过调用原始数据包实现。api是嵌套了很多安全机制的,不需要root权限,而操作原始数据包则需要root权限。从安全工程师角度讲,能拿到root权限,脸就笑烂了…..