相关ICMP协议概述
这里只讲解与ping有关的ICMP消息类型,主机发送回送消息(Type = 8),被请求主机回送响应消息(Type = 0),基本格式如下:
回送消息[ECHO]
回送响应消息[ECHO REPLY]
其中•Code = 0,
•CheckSum为校验和,重点注意从ICMP的头部(即Type开始),到data结束(即到整个数据包结束),具体计算见下面分析
•Identifier为标识符,由主机设定,一般设置为进程号,回送响应消息与回送消息中identifier保持一致
•Sequence Number为序列号,由主机设定,一般设为由0递增的序列,回送响应消息与回送消息中Sequence Number保持 一致
•data为数据,由主机设定,回送响应消息与回送消息中data保持一致
问题在 Identifier 这个字段还以为可以直接用自定义的,x,socket 应该是根据发过去的Identifier然后再用指定Identifier的接受,我在向是否可以用线程id去替换Identifier,应该不怎么可行,那就必须写上进程号了,否则socket数据的接受就有问题了。哎一个破问题