利用原始套接字进行ICMP协议编程遇到的几个问题?(一)
一 描述:
不同类型的ICMP报文有着不同的用途。对于能够进行正常通信的两个主机S(ource)和
D(estination),如果用S机PingD机,那么S机将发送一条回响请求报文(ICMP_ECHO)到D机,D机收到后,再发送一条回响应答报文(ICMP_ECHOREPLY)给S机.
二 问题
1. 以上描述仅是我个人的理解,请问是否有误,如果有误,请不吝指正.
2. 整个Ping过程中,S机发出时所携带的数据与其收到的应答报文中的数据是否一样,也即是否发生了变化?
3. 利用原始套接字在S机可以捕获到D机发送给S的响应包,但在D机却捕获不到S机发送给D的ECHO包,为什么?
4. 可不可以直接由S机发送ICMP_ECHOREPLY报文给D? 而D在捕获到数据后,剥去IP与ICMP首部后,得到的数据与S发送的数据是否一致?
问题多,有空帮兄弟看看,指点哈.
感激.....