一.实验目的
1. 学会通过捕获网卡数据分析网络协议
二.实验内容
1.安装WinPcap软件或Wireshark软件,通过对捕获的数据包进行分析,了解802.3协议(主要包括源MAC地址,目的MAC地址,类型等);
2.了解ARP协议(主要包括访问ARP表,修改ARP表,清空ARP表;以及ARP的广播请求,单播应答特性等);设计实验能够对ARP的广播请求,单播应答特性等内容进行验证;
要求:两个人一组(A,B),在实验报告中写明(A,B的MAC地址,IP地址)
以A为例,给出捕获的A发出的广播ARP请求,捕获B回应的单播应答,在捕获的ARP中,列出目的MAC,源MAC,ARP数据中的A的IP信息和MAC信息,ARP数据中的B的IP信息和MAC信息。
3.通过对捕获的数据包进行分析,了解IP各字段功能(主要掌握首部长度,源IP地址,目的IP地址);
要求:一人一组(A),在实验报告中写明(A的MAC地址,IP地址)
捕获一个发往本网络的IP数据包,并列出目的MAC,源MAC,目的IP和源IP,并分析目的MAC,源MAC,目的IP和源IP与源主机和目的主机的关系
捕获一个来自其他网络的IP数据包,并列出目的MAC,源MAC,目的IP和源IP,并分析目的MAC,源MAC,目的IP和源IP与源主机和目的主机的关系
4.通过对捕获的数据包进行分析,了解TCP协议;
要求:一人一组(A),在实验报告中写明(A的MAC地址,IP地址)
a. 捕获一个TCP连接建立的三次握手过程;给出相应的目的MAC,源MAC,目的IP和源IP,源端口和目的端口,序号,确认号;(需要证明该数据是连接建立的数据)
b. 捕获一个TCP连接拆除的过程,给出相应的目的MAC,源MAC,目的IP和源IP,源端口和目的端口,序号,确认号;(需要证明该数据是连接拆除的数据)
5.通过对捕获的数据包进行分析,了解端口;
要求:一人一组(A),在实验报告中写明(A的MAC地址,IP地址)
a. 捕获一个端口为80的数据包;
b. 捕获一个端口号为53的数据包;
三.实验步骤
1.使用ipconfig/all命令查看本机IP地址和MAC地址和;
2.通过ping命令,结合wirshark软件捕获数据包,了解Inthernet VII和IEEE802.3结构;
3.使用Arp命令,捕获相关数据,利用ping发送广播,学习了解单播响应,通过捕获的数据学习、了解IP各字段的意义;
4.通过ping观察连接建立和拆除的过程;
5.捕获端口号为53/80的数据包。
四.详细的调试和运行结果分析
1.了解802.3协议
本机IP地址:10.200.244.19 MAC地址:20-16-B9-88-EB-A4
MAC帧首部:
目的MAC(6字节):B0-F9-63-4A-30-02
源MAC(6字节) :20-16-B9-88-EB-A4
类型字段(2字节):08-00,标志着上层使用的是IP数据报。
IP数据报首部:
版本(4位):4,指示IP数据报版本。
首部长度(4位):5
区分服务(1字节):00
总长度(2字节):00 3c
标识(2字节):50 19
标志(3位):只有两位有意义,最低位为MF,MF=1,表示后面“还有分片”,MF=”0”表示这已是数据报片中的最后一个。标志字段中间的一位记为DF,只有当DF=0才允许分片。
片偏移(13位):较长的分组在分片后,某片在原分组中的相对位置。
图中标志+片偏移字段为00 00.
生存时间(1字节):40
协议(1字节):01,表示使用ICMP协议。
首部检验和(2字节):00 00,这部分只检验数据包首部,首部未发生变化,结果0.
源地址(4字节):0A-C8-F4-13 ,代表10.200.244.19
目的地址(4字节):B6-3D-C8-06,代表182.61.200.6.
ICMP的前8个字节:
类型(1字节):08,代表ICMP询问报文中的回送请求。
代码(1字节):00,
检验和(2字节):4D 3F
接下来4个字节取决于ICMP报文类型:00 01 00 1C
ICMP数据部分(32字节):
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.
2.了解ARP协议
本机IP地址:10.200.244.19 MAC地址:20-16-B9-88-EB-A4
arp -a(显示当前所有的表项)
arp -a IP地址(显示相应IP地址的表项)
arp -s添加主机,并将网络地址跟物理地址相对应。
arp -d删除由inet_addr指定的主机.可以使用* 来删除所有主机。
本机IP地址:10.200.244.19 MAC地址:20-16-B9-88-EB-A4
对方IP地址:10.200.0.1
MAC帧首部:
目的地址(6字节):B0-F9-63-4A-30-02;
源地址(6字节):20-16-B9-88-EB-A4
类型(2字节):08 00;
ARP报文格式
硬件类型(2字节):45 00
协议类型(2字节):00 3C,ARP使用的是IP协议代号00 3C;
硬件长度(1字节):BC;
协议长度(1字节):90;
OP(2字节):00 00;
发送者MAC地址(6字节):40-01-00-00-0A-C8;
发送者IP地址(4字节):10.200.0.1;
本机IP地址(4字节):10.200.244.19.
3.通过对捕获的数据包进行分析,了解IP各字段功能
本机IP:10.200.244.19 MAC地址:20-16-B9-88-EB-A4
(1)捕获一个发往本网络的IP数据包
目的MAC:目的主机的MAC地址
源MAC:代表源主机MAC地址;
目的IP:是目的主机IP地址;
源IP:源主机IP地址。
(2)捕获一个来自其他网络的IP数据包
目的MAC:不是目的主机的MAC地址;
源MAC:代表源主机MAC地址;
目的IP:是目的主机IP地址;
源IP:源主机IP地址。
4.通过对捕获的数据包进行分析,了解TCP协议
本机IP:10.200.244.19 MAC地址:20-16-B9-88-EB-A4
A捕获一个TCP连接建立的三次握手过程
第一次握手
第二次握手
第三次握手
第一次握手:SYN=1;
第二次握手:SYN=1, ACK=1;
第三次握手:ACK=1。
B捕获一个TCP连接拆除的过程
第一次分手
第二次分手
第三次分手
第四次分手
第一次分手:FIN=1,ACK=1;
第二次分手:ACK=1;
第三次分手:FIN=1,ACK=1;
第四次分手:ACK=1.
5.通过对捕获的数据包进行分析,了解端口
A捕获一个端口为80的数据包
B捕获一个端口号为53的数据包
五、实验感想
本实验中实验数目较多,其中遇到的问题主要出现在广播和单播响应,由于不知道怎么进行广播,所以又毫无头绪,后来经过询问老师同学知道了需要执行ping命令,然后进行抓包,进行arp协议筛选,就可以获取相应的数据包,在知道这个事情之后后面的事情就进展的很顺利了,但还要注意:
在进行广播时,为了验证单播响应,需要提前删掉要进行广播的对方;
端口号为80的是http,使用TCP协议,端口号为53的是dns,使用UDP协议。