wireshark--流量分析利器

news2025/2/24 3:58:06

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做分享...

目录

官方文档

WireShark简介

WireShark的应用

WireShark快速分析数据包技巧

混杂/普通模式介绍:

切换模式

过滤器使用:

 筛选源地址或目的地址

TCP协议 包 

  3 次握手

握手1 

握手2 

握手3

4次挥手

udp协议 包

ARP 协议 包

广播请求的包 (request)

应答的包 (reply)

小结

ICMP 协议 包

请求包

应答包

HTTP 协议 包


官方文档

https://www.wireshark.org/docs/


WireShark简介

Wireshark是一个网络封包分析软件。

网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。

WireShark的应用

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协议除错,普通使用者使用Wireshark来学习网络协议的相关知识。

当然,有的人也会“居心回测”的用它来寻找一些敏感信息....


WireShark快速分析数据包技巧

(1)确定Wireshark的物理位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一一些与自己无关的数据。
(2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
(3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
(4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
(5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
(6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
(7)重组数据。当传输较大的图片或文件时,需要将信息分布在多个数据包中。这时候就需要使用重组数据的方法来抓取完整的数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是重组一个完整的图片或文件

混杂/普通模式介绍:

混杂模式:混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证
MAC 地址。(一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用.)

普通模式下网卡 只接收发给本机的包 (包括广播包)传递给上层程序,其它的包一律丢弃。 

切换模式

停止抓包-->捕获--->选项--->在所有接口上使用混杂模式-->开始


过滤器使用:

开始监听后,就有非常多的包包--->那么通过过滤器---根据自己的条件筛选自己想要的数据包。 

 


 筛选源地址或目的地址

ip.addr == xxx.xxx.xxx.xxx
ip.src_host == 192.168.1.53 or ip.dst_host == 192.168.1.1 


ip.src_host == 192.168.1.53 表示源 IP 地址 
ip.dst_host == 192.168.1.1 表示目的地址 
我们中间用 or 进行了拼接,表示或 当然我们也可以使用 and 表示与,or 表示满足左右其中一个条
件就会显示符合条件的数据包,and 表示左右 2 个条件都满足才会显示。 



TCP协议 包 

tcp

tcp.flags.ack == 1

  3 次握手 4 次断开.

  3 次握手

握手1 

一个 SYN 数据包,SYN=1 表示发送一个链接请求。这时 Seq 和 ACK 都是 0  


握手2 

服务端收到 SYN 连接请求返回的数据包 SYN=1,ACK=1 表示回应第一个 SYN 数据
包。  


握手3


前面 3 个就是 TCP 建立链接的过程,后面的就是相互通信的过程了这个时候 seq 就会根据数据包的大小改变。 


4次挥手

第一次挥手:服务端发送一个[FIN+ACK],表示自己没有数据要发送了,想断开连接,并进入
FIN_WAIT_1 状态.

第二次挥手:客户端收到 FIN 后,知道不会再有数据从服务端传来,发送 ACK 进行确认,确认序号
为收到序号+1(与 SYN 相同,一个 FIN 占用一个序号),客户端进入 CLOSE_WAIT 状态。 

第三次挥手:客户端发送 [FIN+ACK] 给对方,表示自己没有数据要发送了,客户端进入
LAST_ACK 状态,然后直接断开 TCP 会话的连接,释放相应的资源。 

第四次挥手:服务户端收到了客户端的 FIN 信令后,进入 TIMED_WAIT 状态,并发送 ACK 确认消
息。
服务端在 TIMED_WAIT 状态下,等待一段时间,没有数据到来,就认为对面已经收到了自己发送的
ACK 并正确关闭了进入 CLOSE 状态,自己也断开了 TCP 连接,释放所有资源。当客户端收到服务端的
ACK 回应后,会进入 CLOSE 状态并关闭本端的会话接口,释放相应资源。

udp协议 包

我们使用过滤器输入“udp”以筛选出 udp 报文。但是为什么输入 udp 之后出现那么多种协议呢?
-->原因就是 oicq 以及 dns 都是基于 udp 的传输层之上的协议 

扩展:
客户端向 DNS 服务器查询域名,一般返回的内容都不超过 512 字节,用 UDP 传输即可。
不用经过三次握手,这样 DNS 服务器负载更低,响应更快。
理论上说,客户端也可以指定向 DNS 服务器
查询时用 TCP,但事实上,很多 DNS 服务器进行配置的时候,仅支持 UDP 查询包。


ARP 协议 包

地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址
来找寻数据链路层地址的网络传输协议,它在 IPv4 中极其重要。
ARP 是通过网络地址来定位 MAC 地址。 

广播请求的包 (request)

参考

 


应答的包 (reply)

参考

 


小结

总结:我们可以看到到应答包补全了自己的 MAC 地址,目的地址和源地址做了替换.
两个数据包的请求和过程: 
 (一问一答)
192.168.1.2 广播:谁有 192.168.1.1 的 MAC 地址? 
192.168.1.1 应答:192.168.1.1 的 MAC 地址是 xxxxxxxxxxx 


ICMP 协议 包

ping 

过程: 
本机发送一个 ICMP Echo Request 的包 
接受方返回一个 ICMP Echo Reply,包含了接受到数据拷贝和一些其他指令  

请求包

参考


应答包


HTTP 协议 包

我们还是筛选 TCP 协议因为 HTTP 是 TCP 的上层协议,所以我们过滤 TCP 的数据会包含 HTTP 协
议的数据包.
  
curl -I baidu.com 
curl 是一个在命令行下工作的文件传输工具,我们这里用来发送 http 请求 
-I 大写的 i 表示仅返回头部信息。 
我们可以看到我们抓到了 TCP 的 3 次握手 4 次断开 

第一步:我们我们发送了一个 HTTP 的 HEAD 请求 
第二步:服务器收到我们的请求返回了一个 Seq/ACK 进行确认 
第三步:服务器将 HTTP 的头部信息返回给我们客户端 状态码为 200 表示页面正常 
第四步:客户端收到服务器返回的头部信息向服务器发送 Seq/ACK 进行确认 
发送完成之后客户端就会发送 FIN/ACK 来进行关闭链接的请求。 

右键--追踪流.


......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于微信小程序的课堂考勤系统的设计与实现(论文+源码)_kaic

基于微信小程序的课堂考勤系统的设计与实现 摘 要 在高校教育普及的今天,学生人数日益增多,为保证课堂质量,教师多要在课前进行考勤。因此本设计提出基于微信小程序的课堂考勤系统,增加了定位功能,避免了“假打卡”…

探索大型语言模型LLama 2:原理揭秘与代码实践

一、引言 1.1 大型语言模型的重要性 大型语言模型作为人工智能领域的重要研究方向,近年来取得了显著的成果。这些模型在自然语言处理、机器翻译、对话系统、文本生成等领域展现了强大的能力,为人类带来了诸多便利。大型语言模型的出现,使得…

卓码软件测评:软件功能测试和非功能测试详情介绍

随着信息技术的不断发展,软件在我们日常生活与工作中扮演着越来越重要的角色。然而,软件质量的好坏直接关系到使用者的体验和企业的声誉。在软件开发过程中,功能测试和非功能测试作为保证软件质量的重要手段,受到了越来越多的关注…

web后端--Spring事务管理

事务也要日志配置 !!!!debug前面记得加空格 logging:level:org.springframework.jdbc.support.JdbcTransactionManager: debugrollbackFor 默认情况下,只有出现RunTimeException才会回滚事务,rollbackfor属性用于控制出现何种异常类型,回滚…

Flink内存管理机制

前言 在Flink的后台界面,可以看到整个Flink的内存情况。 如JobManager的内存情况: TaskManager的内存情况 一、Flink内存管理 Flink TaskManager内存组成整体结构图如下: 二、总内存管理 三、JobManager内存管理内存管理 四、TaskManager内…

运算符优先级、赋值运算符、一元运算符、逻辑运算符

运算符优先级 字符串 布尔 null undefined 赋值运算符 一元运算符 逻辑运算符 && 逻辑与 ||逻辑或 ??空值合并运算符 称为空值合并运算符,它是ES6的一个新特性,它的作用是当一个表达式是nul或者undefined时为变量设…

Pip换源使用帮助

PyPI 镜像使用帮助 PyPI 镜像帮助提高包安装的速度,特别是当默认源访问较慢时。镜像每次同步成功后,每隔 5 分钟进行更新,确保镜像内容尽量与官方源保持一致。 pip 临时使用 如果您只想在一次安装中使用镜像,可以使用以下命令&…

嵌入式到底是啥嵌入了啥?

嵌入式系统(Embedded System)是指一个专用的计算机系统,它作为一个装置或系统的一部分被嵌入其中,来实现特定的功能。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习…

项目比赛经验分享:如何让即兴发言出彩

项目比赛经验分享:如何让即兴发言出彩 前言1. 顺势趁便法2. 词语撮要法3. 起承转合法4. 数字串连法结语 在项目管理和比赛的激烈竞争中,即兴发言往往成为展示个人魅力和团队精神的重要环节。如何在短时间内组织语言,表达清晰、有力的观点&…

Python代码规范!详细说明!

背景 最近在协作开发过程中,遇到了诸多问题。总结下来主要有两点大问题 代码风格不统一,代码习惯问题严峻。系统解耦不清晰,信息传输不清晰。 于是打算针对市面上常见的代码规范进行强调,结果在查看Google python代码规范文档的…

098、Python 通过编程实现发送邮件的方法

要通过Python编程实现发送邮件,首先得先登录自己的发送邮箱对发送进行相关设置。 一、进行发送邮箱相关设置 1、如下图,点击设置->POP3/SMTP/IMAP 2、然后开启POP3/SMTP服务,并获取授权码和SMTP服务器的地址,如下图&#xff…

Dify中HTTP请求节点的常见操作

HTTP节点包括API请求类型(GET、POST、HEAD、PATCH、PUT、DELETE),鉴权类型(无、API-Key基础、API-Key Bearer、API-Key自定义),HEADERS键值设置,PARAMS键值设置,BODY(non…

springboot高校生就业系统-计算机毕业设计源码99877

基于内容过滤算法的高校生就业系统的设计与实现 摘 要 在当今信息时代,学校以学生信息管理为导向,企业以学生就业持续创新为目标。为满足这一需求,设计一款高校生就业信息管理系统至关重要。该系统涵盖了系统用户管理、岗位信息管理、企业展示…

Channel应用示例

本地文件写数据,如果没有文件创建文件 /*** 使用ByteBuffer(缓冲)和FileChannel(通道),将Hello NIO写入到file01.txt文件中* 如果文件不存在创建文件* author hrui* date 2024/7/27 22:27*/ public class NIOFileChannel01 {public static void main(String[] args) throws I…

Vue element ui分页组件示例

https://andi.cn/page/621615.html

7-23学习笔记

一、异常 即程序中一些程序处理不了的特殊情况 Exception 能被程序本身处理( try-catch ), Error 是无法处理的(只能尽量避免)。 1、异常类 Exception 见过的异常 NullPointerException ArrayIndexoutOfBoundException等 String strnull;System.out.println(st…

昇思MindSpore学习入门-静态图高级编程技巧

如何优化编译性能 使用lazy_inline装饰器 神经网络模型的编译过程往往采用默认inline的方式,把层级的代码表达最终展开成一张扁平的计算图,一方面寻求最大的编译优化机会,另一方面也可以简化自动微分以及执行的逻辑。inline后形成的计算图包…

ODBC的基本使用

前言 在工作中,使用POWERBI做数据分析报表的时候用到ODBC,对于POWERBI语义模式实现连接数据库必须使用到ODBC,那什么是ODBC? 1.ODBC的基本概念 1.1ODBC 驱动程序 每种数据库都有相应的 ODBC 驱动程序,这些驱动程…

系统报错:由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。所有磁盘驱动器的总页面文件大小可能稍大于你所指定的大小

启动电脑时候,突然弹出系统报错的弹窗: 之前由于C盘爆满时候,根据下面教程进行C盘空间清理,感觉是由于清理导致的。 C盘爆满,教你有效清理,释放出几十G的磁盘空间_c盘满了怎么清理c盘空间-CSDN博客文章浏…

前端开发调试工具推荐分类整理

具体前往:前端调试工具分类整理汇总