wireshark的安装使用及相关UDP、TCP、 ARP
初步了解:
进入wireshark后如图:

从图中可以看到很多网络连接在操作的时候我们需要监测哪些 我们可以直接在本地的运行框中输入ipconfig来查看
如图:

从以上图片中我们可以清楚地看到哪些网络连接已经连接的我们只需要按需监测他们即可
但是我们的发现在最上面的图片中的序号3所指向的Adapter for loopback traffic capture这个是用来捕获环回流量的
环回流量
-
本地主机之间的通信:
当你在本地主机上运行一个服务器应用程序(如 Web 服务器、数据库服务器等)时,客户端与服务器之间的通信可能会使用环回接口。例如,你在本地主机上运行一个 Web 服务器,并通过浏览器访问该服务器,此时浏览器向服务器发送的 HTTP 请求就会经过环回接口。
-
本地主机上的网络服务:
当你在本地主机上运行一个网络服务(如 DNS 服务器、代理服务器等)时,该服务可能需要与自身进行通信。例如,当你的计算机上运行一个 DNS 服务器,并且其他程序需要解析域名时,这些程序向本地 DNS 服务器发送的 DNS 查询请求就会经过环回接口。
在wireshark中存在两种模式

具体开启方式如图标注:


Tcp
TCP全称传输控制协议,必须对数据的传输进行控制
tcp连接三次握手:
(第一次握手syn=1,第二次syn=1 ack=1,第三次ack=1)

tcp.flags.syn==1 and tcp.flags.ack==0表示筛选出由本机发送的请求并且通信协议是tcp其中的flags表示数据包头部中的特定位或字段
在 TCP 协议中,常见的标志位包括:
-
SYN(同步):用于发起连接,表示请求建立连接。
-
ACK(确认):用于确认数据包的接收,表示已收到数据包。
-
FIN(结束):用于关闭连接,表示不再发送数据。
-
RST(复位):用于重置连接,表示连接异常或被拒绝。
-
PSH(推送):用于立即传送数据,表示应用层数据应立即传输而不缓存。
-
URG(紧急):表示数据包中有紧急数据,需要优先处理。
具体如图:
第一次握手:

第二次握手:

第三次握手:

我们可以在流量图中很形象的看到三次握手 具体操作如图:

流量图如图:

找到正确的流量指向方法:(可以依据目标ip、端口和源ip、端口即可)
tcp连接断开四次挥手
原理如图:


相关数据:

第一次挥手:

第二次:

第三次:

第四次:

关于在wireshark中的相关过滤的操作:
tcp.flags.syn==1 and tcp.flags.ack==0可以找到三次握手(根据三次握手的信息不同即可做出区分)
ip.src_host==127.0.0.1(可以找到指定ip所发送的请求)
ip.dst_host==202.108.22.5(可以找到数据所发送到的地方)
二者可以通过or或者and来连用
如图:

ip.addr==127.0.0.1(此命令可以把ip为127.0.0.1的全部显示出来)
ARP协议
地址解析协议ARP(Address Resolution Protocol)
分类:普通ARP、反向ARP(RARP)、免费ARP和代理ARP
网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的
根据IP地址获取物理地址一个TCP/IP协议
这句话的意思是(根据IP地址获取物理地址一个TCP/IP协议"的意思是指通过使用 TCP/IP 协议来查询某个设备的 IP 地址,然后利用这个 IP 地址去获取相应设备的物理地址(即 MAC 地址)。这个过程通常通过 ARP(地址解析协议)来实现,ARP 会将 IP 地址映射到对应的 MAC 地址)
根据 IP 地址获取物理地址的过程涉及到 TCP/IP 模型中的多个层面:
-
物理层:物理层定义了数据传输的物理媒介和信号传输的规范。尽管获取物理地址的过程通常不直接涉及物理层,但是在实际数据传输中,通过物理层的传输媒介,如网线、无线信号等,才能确保数据帧从源设备传输到目标设备。
-
数据链路层:数据链路层负责将数据帧从一个网络设备传输到相邻的网络设备。在这个层面上,每个网络设备都有一个唯一的物理地址,即 MAC 地址。ARP 协议在数据链路层上实现,用于将 IP 地址映射到对应的 MAC 地址,以便进行数据帧的传输。
-
网络层:网络层使用 IP 地址来唯一标识网络中的设备,并负责数据包的路由和转发。获取物理地址的过程中,首先需要查询目标设备的 IP 地址,然后通过 ARP 协议将该 IP 地址映射到相应的 MAC 地址,以确定数据帧的接收者。
-
应用层:尽管获取物理地址的过程通常不涉及应用层,但某些应用程序可能会利用网络信息(如 IP 地址)来实现特定功能,例如网络发现或远程管理。
根据 IP 地址获取物理地址的过程涉及到 TCP/IP 模型中的多个层面,包括物理层、数据链路层、网络层和在某些情况下可能涉及的应用层
根据 IP 地址获取物理地址的过程不涉及传输层因为输层主要负责从发送端到接收端的数据传输和通信
一个数据包的传输流程如下:
-
应用层:数据包从应用程序生成,该层负责应用程序与网络的通信。例如,HTTP、FTP、SMTP 等协议运行在应用层。
-
传输层:传输层负责提供端到端的通信服务。例如,TCP 和 UDP 协议运行在传输层,它们将数据分割成数据段,并添加相应的头部信息。
-
网络层:网络层负责将数据包从源主机传输到目标主机。在这个过程中,数据包被封装成 IP 数据包,并添加相应的 IP 头部信息。“路由器”等网络设备在网络层进行路由和转发。
-
数据链路层:数据链路层负责将数据包从一个网络设备传输到相邻的网络设备。在这个过程中,数据包被封装成帧,并添加相应的数据链路层头部信息。“交换机、网桥”等网络设备在数据链路层进行数据帧的转发。
-
物理层:物理层负责定义物理连接和传输介质的特性,例如电压、频率等。在这个层面上,数据被转换成比特流,并通过物理介质传输。
所以,在一个数据包的传输过程中,并不是所有的层都被逐一经过。例如,当两台主机在同一局域网中进行通信时,数据包可能只经过数据链路层和物理层,而不经过网络层和传输层。而在跨越多个网络进行通信时,数据包则会经过更多的层次。
在wireshark上操作
查看arp协议 建议可以先去随便ping一下这样比较方便的去看出网关和本机的交互过程
再看之前需要先去分清本地ip和网关ip
如图:(因为我在这里抓的是WLAN的包所以选择去查看WLAN分发的ip)

然后如图:

第一行:
-
Frame 13663: 这是数据包的编号,表示网络捕获工具捕获的第13663个数据包。
-
60 bytes on wire (480 bits): 数据包在网络上传输时的大小,以字节和位表示。
-
60 bytes captured (480 bits): 实际捕获到的数据包大小,以字节和位表示。
-
on interface \Device\NPF_{7921C416-3C04-48A7-8126-1736AC2C8BE7}: 数据包捕获时所使用的网络接口,这里是一个设备标识符。
-
id 0: 数据包的标识符,通常用于唯一标识捕获到的每个数据包
上图中的ARP部分如下:

-
Hardware type(硬件类型): 指定硬件类型,这里是以太网(Ethernet)。
-
Protocol type(协议类型): 指定网络层协议类型,这里是IPv4。
-
Hardware size(硬件地址长度): 指定硬件地址的长度,这里是6个字节也就是48位(以太网地址的长度)。
-
Protocol size(协议地址长度): 指定协议地址的长度,这里是4个字节(IPv4地址的长度)。
-
Opcode(操作码): 指定ARP消息类型,这里是请求(request)。
-
Sender MAC address(发送者MAC地址): 指定发送ARP请求的设备的MAC地址,这里是 FiberhomeTel_2e:2d:40(68🇩🇪ce:2e:2d:40)。
-
Sender IP address(发送者IP地址): 指定发送ARP请求的设备的IPv4地址,这里是192.168.1.1。
-
Target MAC address(目标MAC地址): 指定要解析MAC地址的设备的MAC地址,这里是未知,表示正在请求目标设备的MAC地址。
-
Target IP address(目标IP地址): 指定要解析MAC地址的设备的IPv4地址,这里是192.168.0.159,表示正在请求该IP地址对应的设备的MAC地址。
这个过程表示的是网关在向本机请求mac地址的过程 其中192.168.0.159是本机ip
192.168.1.1是网关ip
以上是网关的请求(request)包 下面是本机的响应(reply)包

从arp中可得出本机返回到网关中的数据包中含有本机的mac地址
wireshark之ICMP协议
ICMP(Internet Control Message Protocol,互联网控制消息协议)是用于在IP网络中发送错误报告和操作消息的协议
它可以帮助网络设备进行错误报告、连通性测试和路由器通知,从而确保网络的正常运行。它是TCP/IP协议族的一部分,通常用于网络设备之间的通信。以下是 ICMP 协议的一些重要特点:
-
错误报告:ICMP用于发送各种类型的错误报告,例如目标不可达、超时等。当路由器或主机在传输数据时遇到问题时,会向源发送ICMP错误报告。
-
Ping测试:ICMP还用于执行ping测试,即向目标主机发送一个ICMP回显请求(Echo Request),然后接收目标主机发送的回显回复(Echo Reply)。这种测试通常用于确定网络连接的连通性和延迟。
-
路由器通知:ICMP也可以用于向网络中的设备发送路由器通知。例如,当一个路由器重新启动或一个网络出现故障时,它可以发送ICMP通知,通知其他设备发生了什么情况。
-
消息类型:ICMP消息分为多种类型,包括错误消息和查询消息。错误消息用于指示发生了某种错误,而查询消息用于向其他设备发出请求或回复。
-
轻量级:ICMP是一个轻量级的协议,通常不需要建立连接就可以发送消息,因此它对网络开销很小。
如果想去瞅瞅icmp数据包长啥样我们可以去尝试直接ping个东西即可比如ping一下网关 不知道网关ip的话可以去在终端直接去ipconfig一下
如图:


-
Internet Control Message Protocol: 表示传输层使用的是ICMP协议。
-
Type: 8 (Echo (ping) request): ICMP消息类型,表示这是一个回显请求(ping请求)。
-
Code: 0: ICMP消息的代码字段,用于进一步指定消息类型。0表示发送成功
-
Checksum: 校验和字段,用于检测数据包在传输过程中是否发生了错误。
-
Identifier: 用于标识回显请求的唯一标识符。
-
Sequence Number: 用于标识回显请求的序列号。
-
Data: 数据字段,这里包含32字节的数据。
这个数据包是一个ICMP回显请求,即ping请求,发送者的IP地址是192.168.0.159,接收者的IP地址是192.168.0.1。
wireshark抓HTTP协议
可以在终端输入curl -I baidu.com
(这条命令是使用 curl 命令对百度网站发送一个 HEAD 请求,并输出响应的头部信息)
如图:

流量图:

UDP 协议
UDP全称为用户数据报协议。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法
协议特点
1.无连接:只知道对端的IP和端口号就可以发送,不需要实现建立连接。(就像寄信)。
2.不可靠:没有确认机制, 没有重传机制。如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息。
3.面向数据报: 应用层交给UDP多长的报文, UDP原样发送既不会拆分,也不会合并。所以UDP不能够灵活的控制读写数据的次数和数量。
4.UDP存在接收缓冲区,但不存在发送缓冲区。UDP没有发送缓冲区,在调用send to时会直接将数据交给内核,由内核将数据传给网络层协议进行后续的传输动作。UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报文的顺序和发送UDP报的顺序一致,如果缓冲区满了再到达的UDP数据报就会被丢弃。
为什么UDP不需要发送缓冲区?
因为UDP不保证可靠性,它没有重传机制,当报文丢失时,UDP不需要重新发送,而TCP不同,他必须具备发送缓冲区,当报文丢失时,TCP必须保证重新发送,用户不会管,所以必须要具备发送缓冲区
相关文章:
wireshark的安装使用及相关UDP、TCP、 ARP
初步了解: 进入wireshark后如图: 从图中可以看到很多网络连接在操作的时候我们需要监测哪些 我们可以直接在本地的运行框中输入ipconfig来查看 如图: 从以上图片中我们可以清楚地看到哪些网络连接已经连接的我们只需要按需监测他们即可 但…...
【软考】模拟考卷错题本2024-05-11
1 设计模式- 适配器模式 基本上上述的图解已经涵盖了绝大多数主流的设计模式和其特点。理解记忆下即可,这里对下午的考题也有帮助的。 2 计算机组成原理 cpu 访问速度 这个真的是憨憨咯~看到内存就选内存,题目都没审好。这里的速度比cpu内部的要比外部的…...
VMware虚拟机提示内存不足
VMware虚拟机,k8s集群搭建内存不足的问题 疑问:我的电脑是8G8G双通道的内存,当我在搭建k8s集群时给master-2G内存,node1-3G内存,node2-3G内存; 当依次打开虚拟机到node2时VM提示“物理内存不足,…...
视频批量剪辑指南:一键合并视频并添加背景音乐,高效便捷
在数字化时代,视频剪辑已经成为了一项常见且重要的技能。无论是制作家庭影片、工作展示还是社交媒体内容,掌握高效的视频剪辑技巧都能极大地提升我们的工作效率和创作质量。本文将为您介绍云炫AI智剪中高效的视频批量剪辑方法,让您能够一键合…...
讲讲C++四种类型转换
在C中,类型转换(或称为类型转换运算符)是用来将一个数据类型转换为另一个数据类型的机制。C提供了四种类型转换:静态类型转换(Static Cast)、动态类型转换(Dynamic Cast)、重新解释类…...
探索LLM在广告领域的应用——大语言模型的新商业模式和新个性化广告的潜力
概述 在网络搜索引擎的领域中,广告不仅仅是一个补充元素,而是构成了数字体验的核心部分。随着互联网经济的蓬勃发展,广告市场的规模已经达到了数万亿美元,并且还在持续扩张。广告的经济价值不断上升,它已经成为支撑大…...
MBR与GPT分区表
文章目录 MBR分区表MBR分区表结构MBR分区表项查看U盘的分区表信息查看系统中所有磁盘的分区类型获取分区表信息 GPT分区表保护性MBRGPT分区表头格式GPT分区表项格式分区类型分区属性分区表项内容 MBR分区表 CHS :磁头(Heads)、柱面(Cylinder…...
OGG几何内核开发-BRepAlgoAPI_Fuse与BRep_Builder.MakeCompound比较
最近在与同事讨论BRepAlgoAPI_Fuse与BRep_Builder.MakeCompound有什么区别。 一、从直觉上来说,BRepAlgoAPI_Fuse会对两个实体相交处理,相交的部分会重新的生成相关的曲面。而BRep_Builder.MakeCompound仅仅是把两个实体组合成一个新的实体,…...
C语言 | Leetcode C语言题解之第67题二进制求和
题目: 题解: void reserve(char* s) {int len strlen(s);for (int i 0; i < len / 2; i) {char t s[i];s[i] s[len - i - 1], s[len - i - 1] t;} }char* addBinary(char* a, char* b) {reserve(a);reserve(b);int len_a strlen(a), len_b st…...
油泼辣子在食品类别可以申请成商标不!
前阵韩国人在美国申请“chili crunch”油泼辣子作为商标,还准备禁止华人餐馆使用投诉侵权并索赔,普推知产老杨在USPTO上面检索发现,这个人申请的主要是30类方便食品的调味品,商标分类是全球通用的。 商标名称不能申请本类所属的通…...
深入探索MySQL视图
前言 在数据库的世界里,MySQL视图作为数据抽象的一把利剑,为我们提供了一种灵活而高效的方式来管理和查询数据。它不仅能够简化复杂的查询逻辑,还能在不改动底层数据结构的前提下,实现数据的定制化展示与访问控制。本文旨在深入解…...
C语言逻辑语句
叠甲:以下文章主要是依靠我的实际编码学习中总结出来的经验之谈,求逻辑自洽,不能百分百保证正确,有错误、未定义、不合适的内容请尽情指出! 文章目录 1.何为控制语句2.控制语句-分支语句2.1.if2.2.switch 3.控制语句-循…...
C++青少年简明教程:基础知识
C青少年简明教程:基础知识 电脑程序设计(Computer programming),或称程序设计(programming),是给出解决特定问题程序的过程,程序设计往往以某种程序设计语言为工具,给出这…...
[AutoSar]lauterbach_001_ORTI_CPUload_Trace
目录 关键词平台说明一、ORTI概述二、ORTI文件的生成三、ORTI文件的导入四、Trace 功能4.1 Trace 功能菜单介绍4.2 Trace功能的配置4.3 Trace MCDS 设置4.4 Task Switches断点的设置4.5 Trace 数据的录取4.6 CPU 负载和Task调度的查看 关键词 嵌入式、C语言、autosar、OS、BSW…...
课程设计 大学生竞赛系统
课程设计 大学生竞赛系统 wx:help-assignment 学生用户: wx:help-assignment 首页:推荐一些竞赛,热门活动等; 广场:用户可以通过广场来发表动态,同时也可以查看别人发布的动态,并且可以 关注…...
优先队列全面讲解
主题: 优先队列是一种非常有用的数据结构,它让你能够管理一组数据,使得每次访问或移除数据时,总是得到当前集合中优先级最高(或最低)的那个元素。这个特性让优先队列非常适用于需要快速访问集合中最重要元…...
即插即用篇 | YOLOv8 引入多光谱通道注意力 | 频率领域中的通道注意力网络
本改进已集成到 YOLOv8-Magic 框架。 注意力机制,尤其是通道注意力,在计算机视觉领域取得了巨大成功。许多工作聚焦于如何设计高效的通道注意力机制,同时忽略了一个基本问题,即通道注意力机制使用标量来表示通道,这很困难,因为会造成大量信息的丢失。在这项工作中,我们从…...
Topaz Video AI 5.0.3激活版 AI视频无损缩放增强
Topaz Video AI专注于很好地完成一些视频增强任务:去隔行,放大和运动插值。我们花了五年时间制作足够强大的人工智能模型,以便在真实世界的镜头上获得自然的结果。 Topaz Video AI 还将充分利用您的现代工作站,因为我们直接与硬件…...
ppt通过修改幻灯片母版修改页脚
修改幻灯片母版 幻灯片母版就可以了,就可以修改页脚...
【数组算法】598. 区间加法
给你一个 m x n 的矩阵 M 和一个操作数组 op 。矩阵初始化时所有的单元格都为 0 。ops[i] [ai, bi] 意味着当所有的 0 < x < ai 和 0 < y < bi 时, M[x][y] 应该加 1。 在 执行完所有操作后 ,计算并返回 矩阵中最大整数的个数 。 示例 1: …...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
