Wireshark数据包分析入门

Wireshark数据包分析

  • 1. 网络协议基础
    • 1.1. 应传网数物(应表会传网数物)
  • 2. 三次握手
    • 2.1. 第一次握手
    • 2.2. 第二次握手
    • 2.3. 第三次握手
    • 2.4. 三次握手后流量特征
  • 3. 第一层---物理层(以太网)
  • 4. 第二层---数据链路层(PPP L2TP PPTP)
  • 5. 第三层---网络层(IP ICMP ARP)
    • 5.1. ip协议解析
    • 5.2. ARP协议解析
  • 6. 第四层---传输层(TCP UDP TLS)
    • 6.1. Tcp协议解析
  • 7. 第五层---应用层(HTTP SSH FTP TELNET DNS)
  • 8. https之wireshrk解密
    • 8.1. 获取证书(略)
    • 8.2. 进行动态获取对称加密密钥解码
  • 9. wireshrk常用语法
    • 9.1. 按协议查询
    • 9.2. 按ip地址查询
    • 9.3. 按ip端口查询
    • 9.4. 按GET,POST查询
    • 9.5. 按MAC查询
    • 9.6. 按包长度过滤
    • 9.7. 按正则过滤
  • 10. 常见问题
    • 10.1. Eth/ethernet(以太网) ip tcp http关系?
    • 10.2. 序列标识?
    • 10.3. 结束包标识?
    • 10.4. Flags标识?
    • 10.5. 数据包分组的标识?
  • 11. 实战案例

1. 网络协议基础

1.1. 应传网数物(应表会传网数物)

Wireshark 是分成了tcp/ip五层模型的方式
在这里插入图片描述

2. 三次握手

2.1. 第一次握手

在这里插入图片描述

2.2. 第二次握手

在这里插入图片描述

2.3. 第三次握手

在这里插入图片描述

2.4. 三次握手后流量特征

在这里插入图片描述
在这里插入图片描述

注1:"TCP segment of a reassembled PDU"意味着你正在查看的是一个重新组装后的PDU中的一个TCP段。这通常发生在数据包的原始大小超过了网络的最大传输单元(MTU)时,因此数据在发送前被分割成多个段,并在接收端被重新组装。

3. 第一层—物理层(以太网)

简介:在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

种类:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等。

在这里插入图片描述

4. 第二层—数据链路层(PPP L2TP PPTP)

简介:两个相邻结点之间传送数据是直接传送的(点对点),需要使用专门的链路层的协议,而在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。

种类:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP ·
ISDN·STP · CSMA/CD等。

在这里插入图片描述

5. 第三层—网络层(IP ICMP ARP)

简介:1.在发送数据时,网络层把传输层产生的报文封装成分组或包进行传送。2.选则合适的路由,找到目的主机。

种类:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP ·
RARP · RIP等。

5.1. ip协议解析

在这里插入图片描述

注1:Flags标记是否分片与流量包过大分包传输的主要区别在于:前者是数据包头部的一个标志位,用于指示数据包的状态或特性;而后者是一种数据传输机制,用于处理超过MTU限制的数据包。要注意的是,虽然flags标记和分包传输都与数据包的处理和传输有关,但它们在实际应用中可能相互独立或相互关联。例如,一个数据包可能因为其大小超过了MTU而被分片传输,同时其flags标记也可能指示其他状态或特性。

注2:Identification:02xa3f(10815) 为数据包标识,用于判断回复包的对应id

注3:TTL:128 意思是能跳转128个路由或交换机,超出128次,则丢弃。

5.2. ARP协议解析

在这里插入图片描述

6. 第四层—传输层(TCP UDP TLS)

简介:负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用(多个应用层进程可同时使用下面传输层的服务)和分用(把收到的信息分别交付给上面应用层中相应的进程)的功能。

种类:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等。

6.1. Tcp协议解析

在这里插入图片描述

注1:Stream index : 组序号,用来表示多个数据白是否属于同一组的id表示。

注2:TCP payload :后续携带的相关数据

注3:TCP Segment : 当传输数据较大时,一个完整消息会被分割成多个请求包,每个请求包的大小。

注4:[Conversation completeness: Incomplete,ESTABLISHED(7)] :会话完整标记,计算方法:
1:SYN 2:SYN-ACK 4:ACK 8:DATA 16:FIN 32:RST
如:7=1+2+4 表示一个仅包含标准TCP三次握手的会话。

7. 第五层—应用层(HTTP SSH FTP TELNET DNS)

简介:直接为用户的应用进程提供服务

种类: DNS · FTP(文件传送)· HTTP(万维网应用)· SMTP(电子邮件)·SSH
·TELNET · SNMP · POP3 ·RPC · RTCP · RTP · RTSP· SDP· SOAP · GTP · STUN
· NTP · SSDP · BGP · DHCP · Gopher · IMAP4 · IRC · SIP · NNTP · XMPP等。

8. https之wireshrk解密

在这里插入图片描述

8.1. 获取证书(略)

8.2. 进行动态获取对称加密密钥解码

  1. 首先针对Chrome浏览器进行配置
    a) 先创建保存密期文件,最好是英文路径,文件以英文名称,如:
    E:\Wireshark\wiresharkkey\sslkeylog.log
    在这里插入图片描述
    b) 找到Chrome的快捷方式,快捷方式->鼠标右键->快捷方式->目标,目标启动路径后面添加–ssl-key-log-file=E:\Wireshark\wiresharkkey\sslkeylog.log
    在这里插入图片描述
  2. 针对wireshark进行配置
    a) 编辑->首选项->Protocols->TLS->修改路径
    在这里插入图片描述

在这里插入图片描述
3. 重启浏览器,解密成功。
在这里插入图片描述

9. wireshrk常用语法

9.1. 按协议查询

tcp,udp,arp,icmp,http,ftp,dns,ip,ssl等
排除arp包,如!arp 或者 not arp

9.2. 按ip地址查询

(ip.dst == 192.168.70.1 && ip.src == 192.168.70.128)

(ip.dst == 192.168.70.1 && ip.src == 192.168.70.128) || (ip.dst == 192.168.70.128 && ip.src == 192.168.70.1)

9.3. 按ip端口查询

tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
udp.port eq 15000

过滤端口范围
tcp.port >= 1 and tcp.port <= 80

9.4. 按GET,POST查询

http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
// GET包
http.request.method == “GET” && http contains "Host: "
http.request.method == “GET” && http contains "User-Agent: "
// POST包
http.request.method == “POST” && http contains "Host: "
http.request.method == “POST” && http contains "User-Agent: "
// 响应包
http contains “HTTP/1.1 200 OK” && http contains "Content-Type: "
http contains “HTTP/1.0 200 OK” && http contains "Content-Type: "

9.5. 按MAC查询

太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
eth.dst == A0:00:00:04:C5:84
eth.dst == A0-00-00-04-C5-84
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的

9.6. 按包长度过滤

udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后

eth —> ip or arp —> tcp or udp —> data

9.7. 按正则过滤

1、wireshark基本的语法字符
\d 0-9的数字
\D \d的补集(以所以字符为全集,下同),即所有非数字的字符
\w 单词字符,指大小写字母、0-9的数字、下划线
\W \w的补集
\s 空白字符,包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f
\S \s的补集
. 除换行符\n外的任意字符。 在Perl中,“.”可以匹配新行符的模式被称作“单行模式”
.* 匹配任意文本,不包括回车(\n)? 。 而,[0x00-0xff]* 匹配任意文本,包括\n
[…] 匹配[]内所列出的所有字符
[^…] 匹配非[]内所列出的字符

2、定位字符 所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
^ 表示其后的字符必须位于字符串的开始处
$ 表示其前面的字符必须位于字符串的结束处
\b 匹配一个单词的边界
\B 匹配一个非单词的边界

3、重复描述字符
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多于n次
{n,m} 匹配前面的字符n到m次
? 匹配前面的字符0或1次
+ 匹配前面的字符1次或多于1次
* 匹配前面的字符0次或式于0次

4、and or 匹配
and 符号 并
or 符号 或
例如:
tcp and tcp.port==80
tcp or udp

10. 常见问题

10.1. Eth/ethernet(以太网) ip tcp http关系?

HTTP协议定义了数据传输的格式和语义,而TCP协议提供了实际的传输通道当客户端向服务器发送请求时,TCP协议将请求消息分割成多个数据包进行传输,而HTTP协议则解析这些数据包并进行处理,最终返回响应消息。 当数据传输完成后,TCP协议通过四次握手来断开连接,HTTP协议也随之结束。

10.2. 序列标识?

在这里插入图片描述

在这里插入图片描述

10.3. 结束包标识?

tcp.flags.fin

10.4. Flags标识?

SYN : 为1表示这是连接请求或是连接接受请求,用于创建连接和使顺序号同步。
ACK : 为1表示确认号字段有效。
FIN : 为1表示发送方没有数据要传输了,要求释放连接。
RST : 为1表示出现严重差错。可能需要重新建立TCP连接,还可以用于拒绝非法的报文段和拒绝连接请求
Windows : 窗口,表示从确认号开始,本报文的发送方可接收的最大流量。
标记中括号【】的都是wireshark自动实现的。

10.5. 数据包分组的标识?

【stream index :29】 数据包分组的标识 追踪流就是按这个来的

11. 实战案例

暂无

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

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

相关文章

ele pls 表格行内样式超出隐藏

使用 模板实现方案&#xff1a; 实现效果&#xff1a; 相关样式&#xff1a;

【网络技术】【Kali Linux】Wireshark嗅探(十)IPv4和IPv6

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

Jenkins CI/CD 持续集成专题四 Jenkins服务器IP更换

一、查看brew 的 services brew services list 二、编辑 homebrew.mxcl.jenkins-lts.plist 将下面的httpListenAddress值修改为自己的ip 服务器&#xff0c;这里我是用的本机的ip 三 、重新启动 jenkins-lts brew services restart jenkins-lts 四 浏览器访问 http://10.85…

redis7安装与配置

一、下载 通过 redis官网 或者 redis中文网 下载。 以下是 redis 相关文档资料链接&#xff1a; redis源码地址 redis在线测试 redis命令参考 redis中文文档 历史发布版本的源码地址 二、版本命名规则 Redis从发布到现在&#xff0c;已经有十余年的时光了&#xff0c;…

云原生Service Mesh服务网格简单介绍

serviceMesh是什么 Service Mesh是一个用于处理服务间通信的基础设施层&#xff0c;旨在实现云原生应用复杂服务拓扑中的可靠请求传递。其基本构成是一组与应用一起部署的轻量级网络代理&#xff0c;这些代理对应用来说是透明的。Service Mesh通过统一的方式来控制和处理服务间…

双筒水封式防爆器使用方法要记好

双筒水封式防爆器使用方法要记好 型号&#xff08;YC-STFB型&#xff09; 双筒水封式防爆器属于双罐结构的水封式防爆器&#xff0c;安装在抽放瓦斯泵吸气侧和排气端的 管路上靠防爆器底部的水封保护井上井下、抽放泵站设备及用户按全&#xff1b;当瓦斯抽放时气体经由 进气…

【深度学习实战(24)】如何实现“断点续训”?

一、什么是断点续训&#xff1a; 中断的地方&#xff0c;继续训练。与加载预训练权重有什么区别呢&#xff1f;区别在于优化器参数和学习率变了。 二、如何实现“断点续训” 我们需要使用checkpoint方法保存&#xff0c;模型权重&#xff0c;优化器权重&#xff0c;训练轮数…

韩国机器人公司Rainbow Robotics推出RB-Y1轮式双臂机器人

文 | BFT机器人 近日&#xff0c;韩国机器人领域的佼佼者Rainbow Robotics揭开了RB-Y1移动机器人的神秘面纱&#xff0c;这款机器人以其创新的设计和卓越的功能引起了业界的广泛关注。与此同时&#xff0c;Rainbow Robotics还携手舍弗勒集团&#xff08;提供汽车、工业技术服务…

SpringCloud整合Ribbon负载均衡器

目录 一、模块一&#xff1a;提供数据 1.1 首先将第一个实例打包 1.2 使用命令行设置不同权重 1.3 打开图形化界面看看权重是否配置成功。 二、模块二&#xff1a;调用模块一 三、修改默认负载均衡策略 四、自定义规则 ​编辑 五、完整代码 5.1 目录结构 5.2 配置文件 …

网络中其他协议

目录 DNS协议 域名简介 ICMP协议 ICMP功能 ICMP协议格式 ping命令 NAT技术 NATP NAT技术的限制 代理服务器 DNS协议 DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;协议&#xff0c;是一个用来将域名转化为IP地址的应用层协议。 为什么有这个协…

“数据中心的秘密武器:ADOP AOC和DAC线缆的选择与优势”

&#x1f335;【DAC电缆和AOC电缆因其低延迟、低功耗和低成本而广泛应用于数据中心的高性能计算网络布线系统。DAC 电缆和 AOC 电缆有多种配置&#xff0c;以满足网络要求。每款产品均提供 10G SFP、25G SFP28、40G QSFP 和 100G QSFP28 数据速率&#xff0c;并提供从 40G 到 4…

python基础--流程控制之条件语句

目标 条件语句作用if语法if…else…多重判断if嵌套 一. 了解条件语句 假设一个场景&#xff1a; 同学们这个年龄去过网吧吗&#xff1f;去网吧进门想要上网必须做的一件事是做什么&#xff1f;&#xff08;考虑重点&#xff09;为什么要把身份证给工作人员&#xff1f;是不…

如何培养单元测试的习惯?怎样才算一个好的单元测试?

你是怎么编写单元测试的呢&#xff1f;很多人的做法是先把所有的功能代码都写完&#xff0c;然后&#xff0c;再针对写好的代码一点一点地补写测试。 在这种编写测试的做法中&#xff0c;单元测试扮演着非常不受人待见的角色。你的整个功能代码都写完了&#xff0c;再去写测试就…

RAG开山之作:结合参数化与非参数化记忆的知识密集型NLP任务新解法

20年RAG刚提出时的论文&#xff1a;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&#xff0c;也算是RAG的开山之作之一了。 摘要&#xff1a;检索增强生成&#xff08;RAG&#xff09;方法结合了预训练语言模型与基于检索的非参数化记忆&#xff0c;通过…

Vue+Echarts 实现中国地图和飞线效果

目录 实现效果准备 实现效果 在线预览&#xff1a;https://mouday.github.io/vue-demo/packages/china-map/dist/index.html 准备 高版本的echarts&#xff0c;不包含地图数据&#xff0c;需要自己下载到项目中 1、地图数据下载 https://datav.aliyun.com/portal/school/at…

Pasta:HHE Optimized Stream Cipher

参考文献&#xff1a; [Dae95] Daemen J .Cipher and hash function design strategies based on linear and differential cryptanalysis[J].Doctoral Dissertation K.u.leuven, 1995.[GPP11] Guo J, Peyrin T, Poschmann A. The PHOTON family of lightweight hash function…

数据转换 | Matlab基于RP递归图一维数据转二维图像方法

目录 效果分析基本介绍程序设计参考资料获取方式 效果分析 基本介绍 Matlab基于RP递归图一维数据转二维图像方法 基于RP&#xff08;Recurrence Plot&#xff09;递归图的方法可以将一维数据转换为二维图像&#xff0c;以可视化数据的动态特征。RP递归图是一种表示时间序列相…

【数据结构3-栈和队列】

数据结构3-栈和队列 1 栈-特殊的线性表-先进后出1.1 栈的三个案例 2 队列-与栈相反-先进先出2.1 队列的案例 3 用C实现栈的代码&#xff1a;4 用C实现队列的代码 1 栈-特殊的线性表-先进后出 1.1 栈的三个案例 2 队列-与栈相反-先进先出 2.1 队列的案例 3 用C实现栈的代码&…

c++ 二分查找

二分查找&#xff08;Binary Search&#xff09;是一种在有序数组中查找特定元素的高效算法。它通过不断将搜索范围减半来查找目标元素。其时间复杂度为 O(log n)&#xff0c;这是因为每一步都将搜索范围减半&#xff0c;因此算法的性能非常高。 二分查找的基本思想是&#xf…

如何在TestNG中忽略测试用例

在这篇文章中&#xff0c;我们将讨论如何在TestNG中忽略测试用例。TestNG帮助我们忽略使用Test注释的情况&#xff0c;我们可以在不同的级别上忽略这些情况。 首先&#xff0c;只忽略一个测试方法或测试用例。第二&#xff0c;忽略一个类及其子类中的所有情况。第三个是&#…