计算机网络协议分析实验指导书V201506(2)

2018-11-23 22:35

3)若要让主机PC1向主机PC2发送的数据分为 3 个分片,则 Ping 命令中的报文长度应为多大?为什么?

答:1480*3=4440B,因为MTU为1500,要使报文最长,则其首部应最小即20字节,

故报文长度最长为1480*3=4440

4)将第二个 ICMP 请求报文的分片信息填入表 5.3:

表 5.3 ICMP请求报文分片信息 分片序号 5 6 7 标识(Identification) 0x67bb 0x67bb 0x67bb 标志(Flag) 0x00 0x00 0x00 片偏移(Fragment 0 1480 2960 数据长度 0-1479 1480-2959 4440-4507 4)、ARP协议分析实验

步骤1:在 PC1、PC2 两台计算机上执行如下命令,清除 ARP 缓存: 答: ARP -d

步骤2:在 PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的 ARP 地址映射表的内容:

答: ARP -a

步骤3:在 PC1 和 PC2 上运行 Wireshark 截获报文,为了截获和实验内容有关的报文,Wireshark 的 Captrue Filter 设置为默认方式;

步骤4:在主机 PC1 上执行 Ping 命令向 PC2 发送数据报; 步骤5:执行完毕,保存截获的报文并命名为 “ARP-1-学号”;

步骤6:在 PC1、PC2 两台计算机上再次执行 ARP –a 命令,查看高速缓存中的 ARP 地址映射表的内容:

1)这次看到的内容和步骤 2的内容相同吗?结合两次看到的结果,理解 ARP 高速缓存的作用。

答:内容结果不相同。ARP高速缓存是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。计算机进行路由选择时首先在ARP

高速缓存中查找,如果没有找到,再通过广播请求消息来查找。

把这次看到到的高速缓存中的 ARP 地址映射表写出来或给出截图。 接口IP地址 IP地址Internet Address 192.168.3.1 228.227.85.113 231.192.88.42

物理地址Physical Address 00-19-e0-b8-50-f0 01-00-5e-63-55-71 01-00-5e-40-58-2a 类型Type 动态 静态 静态 备注

步骤7:重复步骤 4—5,将此结果保存为 “ARP-2-学号”;

步骤8:打开 arp-1-学号,完成以下各题:

1))在截获的报文中由几个 ARP 报文?在以太帧中,ARP 协议类型的代码值是什么?

答: 4个,在以太帧中,ARP 协议类型的代码值是IP(0x0800)

a) 分析 arp-1 中 ARP 报文的结构,完成表 5.4。

表 5.4 ARP报文分析 ARP请求报文 字段 硬件类型 协议类型 硬件地址长度 协议地址长度 操作 报文信息及参数 Ethernet(1) IP(0x0800) 6 4 Request(1) ARP应答报文 字段 硬件类型 协议类型 硬件地址长度 协议地址长度 操作 报文信息及参数 Ethernet(1) IP(0x0800) 6 4 Reply(2) 源站物理地址 源站IP地址 目的站物理地址 目的站IP地址 (10:78:d2:9d:9b:dc) 192.168.3.3 192.168.3.183 源站物理地址 源站IP地址 目的站IP地址 (10:78:d2:98:7b:42) 192.168.3.183 (10:78:d2:9d:9b:dc) 192.168.3.3 (10:78:d2:98:7b:42) 目的站物理地址 1.B 编程构造IP数据包部分

使用C语言构造IP数据包程序。

1) IPv4基本定长首部结构体定义 struct iphdr { ip verlen ; u_char ip_tos; u_short ip_len; short ip_id; short ip_fragoff; u_char ip_ttl; u_char ip_prpto; short ip_cksum; IPadder ip_src; IPaddr ip_dst; U_char ip_data[1]; } 4};

2)构造IP报文 unsigned char * Build_IP_Packet(unsigned int d_ip, unsigned int s_ip, unsigned char proto_type, const unsigned char *buf, int len, unsigned char * ippacket, int *iplen) {{*iplen=sizeof(struct iphdr)+len; Unsigned char *dbuf=ippacket+sizeof(strct iphdr); Strct iphdr *iph=(strct pihdr *)ippacket; Memcpy(dbuf,buf,len); Iph->version=4; Iph->ih1=5; Iph->tos=0; Iph->toto_len=htons(*iplen); Iph->id=htons(0x65d2); Iph->frag_off=htons(0); Iph->tt1=64; Iph->daddr=d_ip; Iph->saddr=s_ip; Iph->protocol=proto_type; Iph->check=0; Iph->check=checksum(unsigned short *)ippacket sizeof(strct iphdr); returnippacket; } 3)IP校验和计算 //TCPIP协议中的校验和计算 unsigned short checksum(unsigned short *ptr, int nbytes) {unsigned long cksum=0; while(nbytes >1) { cksum+=* ptr ++; nbytes -=sizeof(USHORT); } if(nbytes) { cksum+=*(UCHAR *) ptr; } //将32位数转换成16 while (cksum>>16) cksum=(cksum>>16)+(cksum & 0xffff); return (USHORT) (*cksum); }

2.传输层协议分析

2.A 数据包捕获分析部分

2.1 实验目的

理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。

2.2 实验内容

应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。

2.3 实验原理

TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。 1) TCP的报文格式

TCP报文段分为头部和数据两部分,如图1:

图1 TCP报文段的总体结构 TCP首部 TCP数据部分

TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP的所有功能。

图2 TCP报文段的首部

0 15 31 源端口 目的端口 序号 确认号 U A P R S F 头部 R C S S Y I 长度保留 窗口 G K H T N N (4bit) 校验和 紧急指针 选项(长度可变) 填充


计算机网络协议分析实验指导书V201506(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土质学与土力学发展史及其在土木工程中的应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: