一个完整的三次握手就是:请求(SYN) — 应答(SYN+ACK) — 再次确认(SYN)。完成三次握手,客户端与服务器开始传送数据。
实验流程:
1、首先我们打开wireshark软件的主界面,在主界面上选择网卡,然后右键点击start。wireshark即进入抓包分析过程。在本篇我们选择以太网,进行抓包。
2、接下来再界面我们可以看到wireshark抓到的实时数据包。我们对数据包的各个字段进行解释。
1)No:代表数据包标号。
2)Time:在软件启动的多长时间内抓到。
3)Source:来源ip。
4)Destination: 目的ip。
5)Protocol:协议。
6)Length:数据包长度。
7).info:数据包信息。
3、接下来我们点击解析后的某一条数据可以查看数据包的详细信息。
4、在抓包过程中,我们可以点击图标启动或者停止。来启动或者停止抓取数据包。
5、接下来我们将简单介绍Filter处,对来源Ip以及目的Ip的过滤表达式的写法。首先我们在Filter处填写ip.addr eq 192.168.2.101。表示获取来源ip以及目的ip都是192.168.2.101的数据包。(此处解释 eq 换成==同样的效果)
6、在Filter处填写:ip.src == 192.168.2.101。表示获取来源地址为192.168.2.101的数据包
7、在Filter处填写:ip.dst == 119.167.140.103。表示获取目的地址为119.167.140.103的数据包
8、在Filter处填写:ip.dst == 119.167.140.103 or ip.dst == 192.168.2.45。表示获取目的地址为119.167.140.103或者192.168.2.45的数据包。(此方法举例主要说明or的用法。在or前后可以跟不同的表达式。)
9、在Filter处填写:ip.dst == 119.167.140.103 and ip.src == 192.168.2.101。表示获取目的地址为119.167.140.103且来源地址为192.168.2.101的数据包。(此方法举例主要说明and 的用法)
数据包分析
二、使用wireshark抓包工具抓包后进行分析
1、物理层的数据情况
- 该例Frame 1:-- 1号帧,接口0上传输66个字节,实际捕获66字节
- interface id:0 #接口id 0 ;用来标识特定节点的接口。接口 ID 必须在子网内唯一
- 接口标识符(Interface ID) 这是三级地址,占64位,指明主机或路由器单个的网络接口。实际上这就相当于分类的IPv4地址中的主机号字段。
- Encapsulation type: Ethernet (1) #封装类型采用Ethernet (1);
- Arrival Time #捕获日期和时间;
- [Time shift for this packet: 0.000000000 seconds] #此数据包的偏移时间
- Epoch Time: 3140.331000000 seconds #周期时长
- [Time delta from previous captured frame: 0.025257000 seconds] #此包与前一包的捕获时间间隔;
- [Time delta from previous displayed frame: 0.000000000 seconds] #此包与前一个包的显示时间间隔;
- [Time since reference or first frame: 0.537138000 seconds] #此包与前一帧的时间间隔;
- Frame Number: 1 # 帧序号为1;
- Frame Length #帧长;
- Capture Length #捕获帧长;
- [Frame is marked: False] #此帧是否做了标记:否;
- [Frame is ignored: False] #此帧是否被忽略:否;
- [Protocols in frame: eth:ethertype:ip:udp:rip] #帧内封装的协议层次结构;
- [Coloring Rule Name: TTL low or unexpected] #着色标记的协议名称 ;
- [Coloring Rule String: --] #着色规则显示的字符串
2、数据链路层以太网头部信息
- Destination 目的MAC地址: ff::ff
- Source 源MAC地址: 54:89:98:be:27:ca
- Type 使用协议:0X0800 IPV4协议
3、网络层IP包信息
- Version: 4 #高四位展示版本 使用互联网协议IPv4
- Header Length: #低四位展示IP包头部长度,长度为20字节;指数据报协议头长度,表示协议头具有32位字长的数量。指向数据起点。正确协议头最小值为5。
- Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT) : #差分服务字段
- Total Length:52 #IP包的总长度为52字节;指定整个 IP 数据包的字节长度,包括数据和协议头。其最大值为65,535字节
- Identification:0x0024(36) #标志字段;包含一个整数,用于识别当前数据报。该字段由发送端分配帮助接收端集中数据报分片。
- Flags: 0x00 #标记字段;由3位字段构成,其中最低位(MF)控制分片,存在下一个分片置为1,否则置0代表结束分片。中间位(DF)指出数据包是否可进行分片。第三位即最高位保留不使用,但是必须为0
- Fragment offset: 0 (0x0000) #分的偏移量为0;13位字段,指出与源数据报的起始端相关的分片数据位置,支持目标IP适当重建源数据报
- Time-to-Live:1 (0x01) #生存周期,是一种计数器,在丢弃数据报的每个点值依次减1直至减少为0。这样确保数据包无止境的环路过程(即TTL)
- Protocol: UDP (17) #此包内封装的上层协议为UDP;指出在 IP 处理过程完成之后,有哪种上层协议接收导入数据包
- Header checksum: 0xa9d0 [validation disabled] #头部数据检验和; 帮助确保 IP 协议头的完整性。由于某些协议头字段的改变,如生存期(Time to Live),这就需要对每个点重新计算和检验。Internet 协议头需要进行处理
- Source: 15.0.0.6 #源主机IP地址
- Destination: 255.255.255.255 #目标主机IP地址
- Source GeoIP #源IP的地理信息
- [Destination GeoIP: Unknown] #目标IP的地理信息
4、传输层的数据概况 (该例中传输层使用了UDP包)
- Source Port: 520 #源端口为520
- Destination Port: 520 #目的端口为520
- Length: 32 #UDP报文长度
- Checksum: 0x29ec [unverified] #UDP报文校验和
5、会话层数据概况 (该文使用RIP协议:Routing Information Protocol)
- Command: Response (2) #命令:1为RIP请求信息;2为RIP响应信息
- Version: RIPv1 (1) #版本:使用RIPv1版本
- Address Family: IP (2) #协议簇,该字段长度为4字节。对于TCP/IP协议簇,该字段的取值为2
- IP Address: 192.168.0.0 #路由项的目的网络地址
- Metric: 1 #跳数