ppp链路的LCP和NCP协商已经完成,已经收到ISP (96169) 发送给我的TCP数据包了,现在想手工构建ICMP数据包(ping DNS服务器),然后发送给ISP,具体的ICMP数据包如下: 7e 21 45 00 00 3c 07 a1 00 00 80 01 e4 1a 3d 8c 9b 84 3d 90 38 65 08 00 3f 5c 03 00 0b 00 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 29 91 7e 黑色字体的是PPP链路数据,蓝色的是IP头部,红色的是ICMP头部和数据,具体说明如下: ////////////////////////////////////// IP Header ////////////////////////////////////// 45:IP-Version 00: Type Of Service 00 3c: 总长度(60 bytes) 07 a1: ID 00 00 :帧偏移 80 :TTL 01:协议(代表ICMP) e4 1a: CheckSum 3d 8c 9b 84 :ISP分配给本机的IP地址 3d 90 38 65 :ISP分配给我的DNS (即ping DNS) ////////////////////////////////////// ICMP Header ////////////////////////////////////// 08: 类型(表示echo) 00:Code 3f 5c :CheckSum 03 00:Identifier 0b 00: Sequence Number 61 - 69 :ICMP 数据 数据包发送出去了,但没有收到ISP的回应,加上转义符(7d)后还是没响应,不知道错在哪里,请高手指点!!!
另外小弟还有一个问题,在NCP协商中 收到ISP 给我的IP和DNS ,如何让系统上层协议和应用程序 使用这个IP和DNS呢?