💡
原文中文,约22800字,阅读约需55分钟。
📝
内容提要
本文介绍了使用ICMP包进行traceroute探测的方法,使用Echo消息中的ID和seq进行匹配,探测github.com的机器。
🎯
关键要点
- traceroute是一种用于诊断网络连接问题的工具,可以确定两台计算机之间的网络路径和延迟。
- traceroute工具使用ICMP协议探测目标主机与本地主机之间的网络路径和路由器数量。
- traceroute通过逐步增加TTL值发送UDP或ICMP报文,分析响应包确定路由器和延迟时间。
- TTL(生存时间)字段用于防止数据包在网络中无限循环。
- Linux中的traceroute工具支持多种参数,但本文只实现基本功能。
- traceroute可以使用ICMP、UDP、TCP等协议进行探测,Linux默认使用UDP协议。
- 使用UDP包探测时,需要设置TTL和处理返回的ICMP包。
- 使用TCP包探测时,发送TCP PSH包进行探测,处理ICMP回包的方法与UDP类似。
- 使用ICMP包探测时,可以直接解析返回的Echo消息进行匹配。
- 本文展示了如何使用Go语言实现traceroute功能,并探测github.com的机器。
🏷️
标签
➡️