一、网络配置
- 网络地址规划表
源地址 | 目的地址 | 域名 | 备注 |
192.168.43.60 | 183.232.231.172 | www.baidu.com | 百度 |
192.168.43.60 | 139.159.246.60 | www.bilibili.com | 哔哩哔哩 |
2.配置源地址
1.首先运行CMD,并输入ipconfig/all,获得子网掩码255.255.255.0,默认网关192.168.43.1,DNS服务器192.168.43.1
2.打开网络和共享中心,点击WLAN,属性,双击Internet协议版本4,手动修改IP地址为192.168.43.60,子网掩码为255.255.255.0,默认网关为192.168.43.1,DNS服务器手动配置为192.168.43.1
3.连通性测试
www.baidu.com网址的ip地址为183.232.231.172,延迟为5ms,可以进行TCP协议的测试
www.bilibili.com网址的IP地址为139.159.246.60,延迟为100ms左右,可进行UDP协议的测试(直播)
二、传输层
- TCP协议
建立连接(三次握手):
下图为三次握手(建立连接)的报文
下图为第一次握手报文,192.168.43.60向183.232.231.172发送连接请求报文段,其中同步位SYN=1,序号Sequence number(seq=0),表明传送数据时的第一个数据字节的序号是0。
下图为第二次握手报文,183.232.231.172收到连接请求报文段后,发回确认,ACK=1。其确认号Acknowledgment number(ack=1,即第一次握手的seq+1)。同时183.232.231.172向192.168.43.60发起连接请求,使SYN=1。183.232.231.172自己选择的序号seq=0。
第三次握手报文,192.168.126.60收到此报文段后向183.232.231.172确认,ACK=1,确认号ack=1(即第二次握手的seq+1),自己的序号seq=1(即第一次握手的seq+1)。
- 释放连接(四次挥手):
第一次挥手报文(红框),192.168.43.60把连接释放报文段首部的FIN=1,序号seq=3434,等待183.232.231.172的确认
第二次挥手报文(红框),183.232.231.172发出确认,确认号ACK=1,ack=3135(第一次挥手的seq+1),这个报文的序号seq=4594。TCP服务器进程通知高层应用进程。从183.232.231.172到192.168.43.60这个方向的连接就释放了,TCP连接处于半关闭状态。若183.232.231.172发送数据,192.168.43.60仍要接收。
第三次挥手报文(红框),若183.232.231.172已经没有要向192.168.43.60发送的数据,其应用进程就通知TCP释放连接。FIN=1,seq=4625,ACK=1,ack=3135。
第四次挥手报文(红框),在确认报文段中ACK=1
- UDP协议
Source Port源端口号:52876
Destination Port目的端口号:54915
UDP总长度:271
Checksum Status校验和:0x9af3
Data数据
三、网络层
- IP报文
以第一次握手的报文为例分析IP报文
Version版本号:4
Header Length首部长度:20bytes
Total Length总长度(首部+数据的长度):52
Identification(标识符,唯一):0xb0c9
Don’t fragment:不要分片
Time to live:64
Protocol:协议为TCP
Header checksum首部校验和:0xfe80
Source源地址:192.168.43.60
Destination目的地址:183.232.231.172
- ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
Hardware type硬件类型:以太网
Protocol type协议类型:IPV4
Hardware size:mac地址长度 6bytes
Protocol size:协议地址长度 4bytes
Opcode操作码:ARP请求
Sender Mac address发送方的MAC地址
Sender IP address发送方的IP地址
Target MAC address接收方的MAC地址
Target IP address接收方的IP地址
- ICMP协议
Type类型:0
Code代码:0
Checksum校验和:0x5490
Identifier标识符
Sequence序号
四、数据链路层
- MAC帧格式
- MAC地址分析
以第一次握手的报文为例分析
Source源MAC地址:30:b4:9e:e8:61:98
Destination目标MAC地址:50:04:b8:2e:1d:b3
由上图知道,Type是类型,所以这个是以太网封装
五、总结
抓包过程中用校园网一直无法改IP地址,校园网强制DHCP,所以改不了。后面通过手机热点提供网络,就可以改IP地址了。由于这个软件大部分是英文,尤其是各个层的信息都是英文,自己本身也有一定的英语基础,所以直接看英文也知道是什么意思,抓包过程因为英语不是一道障碍所以上手比较快。一开始的疑惑就是不知道怎么在这么多的报文中找到自己想要的三次握手报文,后面发现只要看报文段里的一些信息就能很快筛选出自己需要的报文了。通过本次抓包实验,深刻学习了TCP协议、UDP协议、IP报文、ARP协议、ICMP协议以及MAC地址的深刻含义。懂得如何用wire shark抓包,以及分析报文中物理层、数据链路层、网络层各种信息的含义。