社区
C语言
帖子详情
icmp报文超时与路由器
THFG
2012-10-21 08:39:50
今天我写了一个用来进行路由追踪的程序。。程序在前面几个路由器的地方都是正常的,但是在最后的一个地方有问题,没有回显,,然后我就用系统自带的试了一下,结果是一样的,,,我不知道是最后一个路由器被设为不响应超时的报文还是服务器不响应超时的报文。。。。我用的百度和163结果都一样
...全文
432
7
打赏
收藏
icmp报文超时与路由器
今天我写了一个用来进行路由追踪的程序。。程序在前面几个路由器的地方都是正常的,但是在最后的一个地方有问题,没有回显,,然后我就用系统自带的试了一下,结果是一样的,,,我不知道是最后一个路由器被设为不响应超时的报文还是服务器不响应超时的报文。。。。我用的百度和163结果都一样
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
THFG
2012-10-22
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
1. 用操作系统自带的tracert测试,看是否一样的结果;
2. 参考一下这里调试好的traceroute程序,有源码:
http://download.csdn.net/detail/geoff08zhang/4571358
[/Quote]
我用它的程序试了一下,,,,也不行,,我怀疑是不是有很多服务器对于ttl为0的icmp请求回显都是不响应的。。
THFG
2012-10-22
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
1)用操作系统自带的试试,可以参照一下linux下面的源码
2)可能有的路由器防火墙设置了某些限制,你可以试试测试一下公共路由器
[/Quote]
我用linux自带的测试了一下他比我自己的结果还收,,我用windows自带的测试,,结果和我的一样,,
whizer
2012-10-22
打赏
举报
回复
1)用操作系统自带的试试,可以参照一下linux下面的源码
2)可能有的路由器防火墙设置了某些限制,你可以试试测试一下公共路由器
THFG
2012-10-22
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用楼主 的回复:
今天我写了一个用来进行路由追踪的程序。。程序在前面几个路由器的地方都是正常的,但是在最后的一个地方有问题,没有回显,,然后我就用系统自带的试了一下,结果是一样的,,,我不知道是最后一个路由器被设为不响应超时的报文还是服务器不响应超时的报文。。。。我用的百度和163结果都一样
出于安全的需要,主机或节点是可以被设置为不响应icmp报文的。
[/Quote]
我觉得应该是这个原因,,,但我怎样才能确定是最后一个路由器不响应还是服务器本身不响应呢
飞天御剑流
2012-10-22
打赏
举报
回复
[Quote=引用楼主 的回复:]
今天我写了一个用来进行路由追踪的程序。。程序在前面几个路由器的地方都是正常的,但是在最后的一个地方有问题,没有回显,,然后我就用系统自带的试了一下,结果是一样的,,,我不知道是最后一个路由器被设为不响应超时的报文还是服务器不响应超时的报文。。。。我用的百度和163结果都一样
[/Quote]
出于安全的需要,主机或节点是可以被设置为不响应icmp报文的。
ShengFei01
2012-10-22
打赏
举报
回复
如果“windows自带的测试,,结果和我的一样”,那说明你的程序没问题。可能是主机或路由器没有响应。
Geoff08Zhang
2012-10-21
打赏
举报
回复
1. 用操作系统自带的tracert测试,看是否一样的结果;
2. 参考一下这里调试好的traceroute程序,有源码:
http://download.csdn.net/detail/geoff08zhang/4571358
ping.zip_网络编程_C/C++_
随后,主机将数据报的 TTL 值递增 1,以便 IP 报能传送到下一个
路由器
,并由下一个
路由器
生成
ICMP
超时
差错
报文
返回给源主机。不断重复这个过程,直到数据报达到最终的目地主机,此时目地主机将返回
ICMP
回显应答...
trouceroute原理
Microsoft使用
ICMP
,所以windows上发出的traceRT应使用的是
ICMP
,我用 sniffer抓过包,没问题,其中显示TTL
超时
的包即为下一条
路由器
的地址,windows系统会同时发送多个
ICMP
,
超时
报文
一般也响应多个(三个)
icmp
报文
详解
写的很好的
icmp
报文
详解: ...一....1.
ICMP
允许主机或路由报告差错情况和提供有关异常情况。
ICMP
是因特网的标准协议,但
ICMP
不是高层协议,而是IP层的协议。通常
ICMP
报文
被IP层或更高层协议
ICMP
报文
详解
通常
ICMP
报文
被IP层或更高层协议(TCP或UDP)使用。一些
ICMP
报文
把差错
报文
返回给用户进程。
ICMP
报文
作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。
ICMP
报文
的种类有两种,即
ICMP
差错报告
报文
...
ICMP
报文
格式解析
ICMP
报文
的格式类型总共分为三大类: 1、差错
报文
2、控制
报文
3、查询
报文
上图是
ICMP
报文
的基本格式,上面提到的三种
ICMP
报文
均有“类型,代码和校验和”三个字段,后面还有4个字节是根据不同的
报文
类型而有...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章