我正在尝试在 c 中为 ios 实现 traceroute。(例如:为了找出哪个路由器不工作)。不幸的是,我不能使用每次路由器杀死我的数据包时都会向我发送响应的 ICMP 协议。有没有办法用 TCP 或其他协议来实现它。我需要一些关于如何完成的思考方向。
问问题
1280 次
1 回答
1
基本上,一个人可以同时使用这三个,ICMP、UDP 和 TCP。BSD 实现使用 UDP AFAIK,如下源文件:
http://www.opensource.apple.com/source/network_cmds/network_cmds-307/traceroute.tproj/traceroute.c
正如你所看到的,这不是太琐碎。
编辑:
FreeBSD的traceroute的来源:
http://svnweb.freebsd.org/base/release/9.1.0/contrib/traceroute/
于 2013-01-04T16:15:52.640 回答