[工具使用]Wireshark(上)

简介: [工具使用]Wireshark

WireShark

简单使用

数据包的过滤

抓取时过滤

抓取后过滤

数据流跟踪

专业信息说明

数据包的统计分析

已解析的地址

协议分级

统计摘要说明(文件属性)

导出对象——>HTTP

数据包分析的小技巧

              Veni, vidi, vici! 我来,我见,我征服!
                                      ——Julius Caesar恺撒一世

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

官网下载链接

简单使用

image.png

image.png

http:

image.png

tcp:

image.png

停止抓包后,我们可以选择抓取到的数据包。

文件—>另存为,然后就会保存为一个pcap格式的文件


pcap文件格式

image.png

1.Pcap Header

文件头,每一个pcap文件只有一个文件头,总共占24(B)字节,以下是总共7个字段的含义。
Magic(4B):标记文件开始,并用来识别文件和字节顺序。值可以为0xa1b2c3d4或者0xd4c3b2a1,如果是0xa1b2c3d4表示是大端模式,按照原来的顺序一个字节一个字节的读,如果是0xd4c3b2a1表示小端模式,下面的字节都要交换顺序。现在的电脑大部分是小端模式。
Major(2B):当前文件的主要版本号,一般为0x0200
Minor(2B):当前文件的次要版本号,一般为0x0400
ThisZone(4B):当地的标准事件,如果用的是GMT则全零,一般全零
SigFigs(4B):时间戳的精度,一般为全零
SnapLen(4B):最大的存储长度,设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将值设置为65535
LinkType(4B):链路类型。解析数据包首先要判断它的LinkType,所以这个值很重要。一般的值为1,即以太网

2.Packet Header


数据包头可以有多个,每个数据包头后面都跟着真正的数据包。以下是Packet Header的4个字段含义


Timestamp(4B):时间戳高位,精确到seconds,这是Unix时间戳。捕获数据包的时间一般是根据这个值


Timestamp(4B):时间戳低位,能够精确到microseconds


Caplen(4B):当前数据区的长度,即抓取到的数据帧长度,由此可以得到下一个数据帧的位置。


Len(4B):离线数据长度,网路中实际数据帧的长度,一般不大于Caplen,多数情况下和Caplen值一样

3.Packet Data


Packet是链路层的数据帧,长度就是Packet Header中定义的Caplen值,所以每个Packet Header后面都跟着Caplen长度的Packet Data。也就是说pcap文件并没有规定捕获的数据帧之间有什么间隔字符串。Packet数据帧部分的格式就是标准的网络协议格式了。


保存的pcap文件用010Editor打开如下图:

image.png

数据包的过滤

当我们选择抓取的网卡后,会抓取通过网卡的全部流量,但是绝大部分对我们的是没有用的,所以我们需要进行过滤,而过滤分为两种抓取时过滤抓取后过滤

抓取时过滤

image.png

如下图是wireshark默认的过滤,我们可以从左下角添加自己需要的过滤

image.png

捕获—>选项,下图绿色表示语法没有问题

image.png

抓取后过滤

一般情况是抓完包再过滤的,在上方输入我们的语法

image.png

过滤策略:


1、过滤地址

ip.addr192.168.10.10 或 ip.addr eq 192.168.10.10 #过滤地址

ip.src192.168.10.10 #过滤源地址

ip.dst==192.168.10.10 #过滤目的地址


2、过滤协议,直接输入协议名

icmp

http

tcp


3、过滤协议和端口

tcp.port80

tcp.srcport80

tcp.dstport80

udp.port端口号


4、过滤http协议的请求方式

http.request.method==“GET”

http.request.method==“POST”

http.request.uri contains admin #url中包含admin的

http.request.code==404 #http请求状态码的


5、连接符

&&

||

and

or


6、通过连接符可以把上面的命令连接在一起,比如:

ip.src192.168.10.10 and http.request.method"POST"

数据流跟踪

我们的一个完整的数据流一般都是由很多个包组成的,所以,当我们想查看某一条数据包对应数据流时 鼠标右键—>跟踪流,选择TCP、UDP、SSL、HTTP,选择对应的流。

image.png

选择对应的跟踪流之后,会弹出该流的完整数据流,还有这个数据流中包含的数据包。这时wireshark顶部的过滤器就是这条流的过滤规则。

相关文章
|
8月前
|
JavaScript 前端开发 Java
基于springboot的养老院管理系统
随着人口老龄化加剧,传统养老院管理效率低下,亟需信息化升级。本文基于Java、Spring Boot、Vue等技术构建智慧养老系统,结合MySQL与MyBatis实现数据高效管理,提升服务精准性与运营效率,推动养老服务向智能化、现代化发展。
|
自然语言处理 Prometheus 监控
基于DeepSeek的智能客服系统实战:从开发到部署
本文详细介绍如何将基于DeepSeek的智能客服系统从开发到部署,涵盖服务器选择、环境配置、代码部署及Web服务器设置。通过具体案例和代码示例,讲解系统上线步骤,并介绍使用Prometheus、Grafana等工具进行性能监控的方法。此外,针对高并发、API调用失败等常见问题提供解决方案,确保系统的稳定运行。最后强调数据安全与隐私保护的重要性,帮助读者全面掌握智能客服系统的部署与维护。
|
9月前
|
监控 前端开发 数据可视化
Github 12.3kstar, 3分钟起步做中后台?Go+Vue 脚手架,把权限、代码生成、RBAC 都封装好了
Go-admin 是基于 Gin + Vue 的中后台脚手架,集成 Casbin RBAC 权限、JWT 鉴权、GORM 数据库操作与 Swagger 文档,内置用户、角色、菜单等管理模块。提供代码生成器与表单构建器,支持多租户与多前端框架(Element UI/Arco/Ant Design),3 分钟快速搭建企业级后台,助力高效交付。
873 4
|
人工智能 自然语言处理 开发工具
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
Languine 是一款面向开发者的 AI 翻译工具,支持 100+ 种语言,自动化翻译流程,提升多语言应用开发效率。
766 15
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
|
数据采集 应用服务中间件 Go
开源的键鼠共享工具「GitHub 热点速览」
开源的键鼠共享工具「GitHub 热点速览」
|
SQL 关系型数据库 MySQL
MySQL 常见日志清理策略
MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理 MySQL 中的日志文件。
1022 3
|
设计模式 API Python
Python Web:Django、Flask和FastAPI框架对比
Python Web:Django、Flask和FastAPI框架对比
930 0
|
Java C++
jni编程(windows+JDK11+clion)
jni编程(windows+JDK11+clion)
364 1
|
JSON 小程序 JavaScript
微信小程序页面传参(多条数据的传递)
本文介绍了微信小程序中页面间参数传递的方法。1) 单个数据传递:通过`wx.navigateTo`将ID拼接在URL中传递,接收页面在`onLoad`中获取。2) 多个参数传递:将数据转换为JSON字符串,然后通过URL参数传递,接收页面同样在`onLoad`中解析JSON恢复数据。3) 提到了JSON作为数据交换格式的基础知识。全文鼓励读者尝试并点赞。
1172 1
|
搜索推荐 算法 大数据
13.经典 O(nlogn) 复杂度算法之快排
13.经典 O(nlogn) 复杂度算法之快排
751 1

热门文章

最新文章