计网_实验1_UDP协议分析

0x01.实验要求

  1. 自己提前用Wireshark或者其他数据包捕获工具捕获UDP数据报文,或者使用udpdata所提供的UDP数据报文;
  2. 对某个特定的UDP数据包的首部和数据字段进行解析,即指出哪些是源端口、目的端口、长度、校验和与数据部分;
  3. 核对某个UDP数据包的校验和是否正确(可采用手工计算方式,需提供计算过程,或编写计算机小程序来实现,需提供源代码及运算结果截图);
  4. 根据以上要求完成实验报告。

0x02.素材选择

使用教员提供的数据包,用wireshark打开后转存为pcap文件

可以看到6个NBNS协议的数据包,NBNS = NetBIOS Name Service,应该是在做命名查询。微软WINS的实现就是一个例子。例如开启了WINS的主机就会发出目的地址地址...255进行广播,使用UDP协议,连137端口。
这里,我们挑选第一个数据帧进行分析。

0x03.十六进制观察


可知整个数据帧的长度为92bytes

我们可以看到最开始的以太网帧头部

由此我们可知发送端的mac地址 00:50:56:c0:00:01
接受端的mac地址 ff:ff:ff:ff:ff:ff
使用的是ipv4协议

接着我们看到的是IP头

由此我们可知发送端的IP是 192.168.116.1
接受端的IP是 192.168.116.255 是一个广播地址
头部长度为 20 bytes
总长度为 78 bytes
协议类型为 17(hex:11)———UDP
ttl为 128
头部校验和为 196(hex:0x00c4)

然后我们看到了本次作业的核心内容UDP部分

UDP数据包首部:

UDP数据包数据部分:

此处重开一段来说明

UDP首部

0000 00 89 00 89 00 3a 6c 13 …..:l.
从数据帧我们可以发现发送端的端口为0x89,即137
接收端的端口为0x89,即137
UDP长度58bytes
校验和:0x6c13(27667)

UDP数据部分

可以看到这是一个nbns服务,具体分析需参考相关文档。

校验和计算


怼了一个python脚本。。。。。。。校验和计算正确,具体见代码及注释。

后来又怼了一个批量的。。。想想,我也是闲的蛋疼。。。

QQ图片20160906202458

6UDJQ@]@824@4GCDZ5VE5G6

BF}GZS0CCUX`BO3NAWGBLPK

Reply