LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2020|回复: 36

请问ICMP报文有多少字节?

[复制链接]
发表于 2003-11-6 22:52:39 | 显示全部楼层 |阅读模式
我要是发一个大于56b的ICMP,就会分片。那出里开头的28字节,剩下的是数据是什么内容,我还有狠多不懂,可能我说错了。请大家帮我指正!

thanks in advancd.
发表于 2003-11-7 01:22:56 | 显示全部楼层
正好让我复习一下TCP/IP。
你是不是用的ping命令吧?
这里的56 bytes指的是ICMP的data长度,开头的28bytes是IP heard+ICMP heard的长度,20+8,一共是28bytes.
 楼主| 发表于 2003-11-7 10:49:16 | 显示全部楼层
是的,我是说用 ping,没说清楚,抱歉,
谢谢,我懂了。再问:

不知道被ping的主机发回的报文有多大,是我发一个大于56b的ICMP,无论被分成多少片,对方都只回一个报文吗?还是和我的一样?
请教教我,先谢了
发表于 2003-11-7 12:46:20 | 显示全部楼层
你用ping的时候,在ip datagram的date实际是一个类型为echo request的icmp报文,对方也应该回复你个类型为echo reply类型的icmp报文,当然了,是封装在ip datagram中的。如果这个ip datagram被分片,那么在目的地的ip层,它会被重新组合成一个完整的datagram。尽管每个分片也有完整的ip head,但是里面的fragment被置位,并不能作为一个完整的ip datagram。所以说,echo request与echo reply是one-to-one的关系。一般来说,request和reply的大小是一样的。另外,在icmp的data部分,sender可以添上当前的时间,因为目的节点在回复这个icmp的时候,要把data部分复制,所以sender就可以算出这个ping的round-trip的时间。

我这里用ip datagram而没有用ip packet,是因为这两个词其实是有区别的。(可以参看RFC 1122),但是很多书上,尤其是国内的翻译书上常常说这两个词可以通用。你应该注意一下。
 楼主| 发表于 2003-11-7 14:11:32 | 显示全部楼层
谢谢,我会注意的。
请问用ping,time是指什么时间,发送的时间OR对方发送的时间OR来回的时间和:ask :ask
发表于 2003-11-7 18:44:35 | 显示全部楼层
RTT (round-trip time)从字面上就可以看出来了,是往返时间,这个时间的准确度受到计算机时钟精度的限制
 楼主| 发表于 2003-11-7 21:17:51 | 显示全部楼层
谢谢你!原来试来回的时间和。
发表于 2003-11-7 21:39:27 | 显示全部楼层
最初由 ilrainyday 发表
正好让我复习一下TCP/IP。
你是不是用的ping命令吧?
这里的56 bytes指的是ICMP的data长度,开头的28bytes是IP heard+ICMP heard的长度,20+8,一共是28bytes.



ip heard 里的内容有没办法修改啊???用什么修改啊?

那不就可以欺骗了?
 楼主| 发表于 2003-11-8 13:30:49 | 显示全部楼层
最初由 pinksnoopy 发表
ip heard 里的内容有没办法修改啊???用什么修改啊?

那不就可以欺骗了?


可以,但我不懂,问黑客。
发表于 2003-11-8 15:41:40 | 显示全部楼层
不知道怎么修改??要靠软件?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表