
实验2IPICMP协议分析实验.doc
6页《计算机网络》实验指导书实验2 IP/ICMP协议分析实验一、实验目的l 理解IP协议包格式;l 理解ICMP协议包格式二、实验内容l PING应用系统通信过程中ICMP 协议、IP协议分析三、实验原理、方法和手段(1)ICMP 报文格式报文类型 报文编码 校验和 field1 field2 field3 8 bits 8bits 16bits 16bits 16bits 32bits(2)IP 报文格式四、实验条件(1)报文捕获工具Wireshark协议分析软件;(2)应用协议环境每个学生机的PC机(安装Windows xp 或者Windows 2000操作系统)处于同一个LAN 五、实验步骤(1)ICMP 协议分析l 主机A(IP地址为A.A.A.A)与主机B(IP地址为B.B.B.B)属于同一个子网内的两台计算机;l 在主机A上启动报文捕获工具,指定源IP地址为主机A的地址,目的IP地址为主机B的地址,分析开关为ICMP协议;l 在主机A的DOS仿真环境下,运行ping B.B.B.B命令向主机B发送echo 请求报文,在主机B联网和未联网两种情况下,捕获ICMP请求数据包与应答数据包(如有),记录并分析各字段的含义,并与ICMP数据包格式进行比较;表1:ICMP报文格式实验项ICMP包字段名称值含义1Type0(Echo(ping)reply)报文类型,应答报文2Code0报文编码3Checksum0xd95b [correct]校验和4Identifier512(0x0200)标识符5Sequence number31232(0x7a00)序列号(2)IP 协议分析l 主机A(IP地址为A.A.A.A)与主机B(IP地址为B.B.B.B)属于同一个子网内的两台计算机;l 在主机A上启动报文捕获工具,指定源IP地址为主机A的地址,目的IP地址为主机B的地址,分析开关为IP协议;l 在主机A的DOS仿真环境下,运行ping B.B.B.B 命令向主机B发送echo 请求报文,在主机B联网和未联网两种情况下,捕获IP数据包,记录并分析各字段的含义,并与IP数据包格式进行比较;表2:IP报文格式实验项IP包字段名称值含义1Version4表示ip版本为4,即ipv42Differentiated services Field0x00(DSCP 0x00:Default;ECN:0x00)区分服务领域3Header length20 bytes头部长度,它指向数据的开始位置,这个域的最小合法值为5.4Total length60总长5Identification0xf81(3969)标识符6Flags0x00标记字段,第一位不使用,第二位是DF位,当DF为1时,表示路由器不允许分段。
第三位是MF位,当MF为1时,表示不是最后一个分段,为0时,表示最后一个分段7Fragment offset0分段偏移,表示是首位段的偏移以8个字节为偏移单位8Time to live128生存期,说明数据报在互联网系统生存的最大时间9ProtocolICMP协议,指定了数据包中数据的类型10Header checksum0xa8f1 [correct]头部校验和,用于保证数据的正确性11Destination192.168.0.128(192.168.0.128)源地址12Source192.168.0.126(192.168.0.126)目标地址六、思考题(1)为什么运行ping 127.0.0.1时,不能捕获到ICMP报文?如果运行ping 本机IP地址能收到报文吗? 答:因为127.0.0.1表示本机回环地址,通常利用在本机上ping此地址来检查TCP/IP协议是否安装正确无论是ping127.0.0.1或本地IP(在Windows和Linux下),都不能抓获到ping数据帧,亦即ping两者都是不经过网卡的,都是通过环路来处理的并且ping 127.0.0.1和ping本机的过程是不一样的。
ip输出函数先检查地址是不是环回地址:1. 如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数 2. 如果不是环回地址,检查是不是广播地址或者多播地址3. 如果不是广播或者多播地址,才检查是不是本机地址,如果是本机地址,则交给环回驱动程序处理,环回驱动程序返回给ip输入函数从上面可以看出 ping 127.0.0.1数据包是不经过网卡的 ping本机则是需要经过网卡的所以运行 ping 127.0.0.1 时,不能捕获到 ICMP 报文;运行 ping 本机 IP 地址能收到报文 (2)能否在WINDOWS操作系统下进行设置,使得主机收到ICMP报文后不响应呢? 答:ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息所以我们可以进行相应的ICMP设置,比如在Windows XP中,首先打开“网络连接”,右键单击启用Internet连接防火墙的“网络连接”,选择“属性”打开属性窗口接着,选择“高级”选项卡,单击右下角“设置”按钮然后,在高级设置窗口中选择“ICMP”选项卡,在其中就可以进行相应的设置,包括允许传入的回显请求等。












