计算机网络|| 网络协议分析

一、实验环境

  1. 运行 Windows 操作系统的 PC 机一台;

  2. Laptop连接无线局域网

  3. The Wireshark Network Protocol Analyzer协议分析软件

二、操作步骤及结果

1.安装网络协议分析仪 Wireshark;

2.启动 Wireshark,并捕获数据,Wireshark 捕获界面如下所示;

3.保存捕获的数据包;

4.在命令行方式下运行 ping 命令发送数据包,ping命令后结果如下;

ICMP

ICMPV6数据发送界面图

5.在 Wireshark 中进行协议分析,Wireshark 协议分析界面如下;

三、结果分析

(1)Ping 命令中,(ICMP协议是TCP/IP协议的一个分支)

应用层:在应用层ping www.douyin.com 使用的是DNS协议,Ping命令本身是一个应用程序,它使用ICMP协议来发送和接收数据包。

传输层:Ping命令使用的是基于UDP的ICMP协议,因此在传输层使用的是UDP协议。

网络层:Ping命令使用的是IP协议,因此在网络层使用的是IP协议。

数据链路层:Ping命令使用的是以太网协议

ICMP协议中的字段含义

类型(Type):表示ICMP消息的类型。

代码(Code):表示ICMP消息的子类型

校验和(Checksum):用于检测ICMP消息是否被篡改

标识符(Identifier):用于标识发送方的进程

序列号(Sequence Number):用于标识发送方发送的每个ICMP消息

1.发出ARP请求报文 ,目的MAC为全F广播,请求网关ARP;

2.收到网关的ARP响应报文,学习到网关ARP地址,形成ARP地址表;

3.发出DNS请求报文(UDP报文),目的IP为DNS服务器地址,目的MAC为网关MAC;

4.收到DNS服务器的响应报文(UDP),进而知道到ping的主机的IP地址;

5.(必须)发出ICMP Request报文(ICMP协议),目的IP是ping的主机,目的MAC为网关,源IP为本机IP,源MAC为本机MAC。

6.(必须)收到ICMP Response报文。

ICMP request 分析
ICMP reply 分析

(2)捕获及分析 HTTP 协议数据包

HTTP 协议数据单元HTTP协议数据单元使用了TCP/IP协议栈中的应用层协议HTTP协议,以及传输层协议TCP协议,HTTP协议负责定义客户端和服务器之间的通信格式和规则,而TCP协议则负责在网络上传输HTTP协议定义的数据单元。在TCP/IP协议栈中,HTTP协议位于应用层,而TCP协议则位于传输层。

请求与响应
数据段
分析
每层用的协议
应用层:HTTP协议
传输层:TCP协议
网络层:IP协议
数据链路层:ARP协议
物理层:
HTTP协议数据包中的各个字段含义

1.源端口和目的端口:源端口是发送方的端口号,目的端口是接收方的端口号。

2.序列号和确认号:序列号是发送方发送的第一个字节的序号,确认号是接收方期望收到的下一个字节的序号。

3.标志位:包括URG、ACK、PSH、RST、SYN和FIN六个标志位,用于控制TCP连接的建立、维护和关闭。

4.窗口大小:用于控制TCP流量的控制和流量控制。

5.Checksum:用于检验TCP头部和数据的完整性。

6.HTTP请求或响应:包括请求方法、请求URL、HTTP版本、请求头、请求体等字段,用于描述HTTP请求或响应的内容。

四、思考

1. 通过分析用 Wireshark 捕获到的数据,能得到哪些参数?

答:Wireshark可以捕获网络数据包,并显示数据包详细信息,通过分析这些信息,可以得到以下参数:

1.源IP地址和目标IP地址

2.源端口和目标端口

3.协议类型(TCP、UDP、HTTP、ARP、ICMP等各种协议)

4.数据包大小

5.时间戳

6.数据包内容

点开可以查看每个数据包的详细内容,包括各个字段的值和解释。

相关推荐
长谷深风1117 分钟前
HTTP请求全过程解析【个人八股】
网络·网络协议·http·多线程下载·tcp 连接·请求报文、响应报文·网络请求流程
xhbh6667 分钟前
MC端口映射完全教程:路由器虚拟服务器配置+防火墙放行+内网穿透备用方案
运维·服务器·网络·网络协议·tcp/ip·智能路由器·流量端口转发
code monkey.8 分钟前
【Linux之旅】Linux 网络基础全解析:从协议分层到 Socket 编程,构建高性能网络服务的底层基石
linux·网络·php
艾莉丝努力练剑12 分钟前
【Linux网络】Linux 网络编程:HTTP(四)从手写服务器到生产级 Nginx 与 cpp-httplib 实战
linux·运维·服务器·网络·c++·nginx·http
Ether IC Verifier15 分钟前
TCP拥塞控制详解
网络·网络协议·tcp/ip·计算机网络·dpu
切糕师学AI15 分钟前
计算机网络层次结构详解:从OSI七层模型到TCP/IP四层模型
网络·tcp/ip·计算机网络
咖喱o19 分钟前
IPv6
服务器·前端·网络
IpdataCloud20 分钟前
IP查询工具怎么选?在线API vs IP离线库:精度、速度、成本、隐私全对比
服务器·网络·数据库
艾莉丝努力练剑26 分钟前
【Linux网络】Linux 网络编程:HTTP(三)HTTP 协议原理
linux·运维·服务器·网络·c++·http
Gauss松鼠会28 分钟前
GaussDB(DWS) 资源监控Topsql
java·网络·数据库·算法·oracle·性能优化·gaussdb