【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

目录

一、开启WireShark的大门

1.1 WireShark简介

1.2 常用的Wireshark过滤方式

二、如何抓包搜索关键字

2.1 协议过滤

2.2 IP过滤

​编辑

2.3 过滤端口

2.4 过滤MAC地址

2.5 过滤包长度

2.6 HTTP模式过滤

三、ARP协议分析

四、WireShark之ICMP协议

五、TCP三次握手与四次挥手

5.1 TCP三次握手

5.2 可视化看TCP三次握手

5.3 TCP四次挥手

5.4 可视化看TCP四次挥手

5.5 异常情况


一、开启WireShark的大门


相关文章:

【Linux】网络诊断 ping命令详解_linux ping-CSDN博客

【Linux】网络诊断 traceroute命令详解-CSDN博客

【Linux】nc 网络诊断 | 文件传输 命令详解-CSDN博客

【网络】抓包工具Wireshark下载安装和基本使用教程-CSDN博客

【网络】路由器和交换机的区别-CSDN博客

【网络】计算机网络基础概念入门-CSDN博客

【网络】网络层IP地址和IP数据报的格式-CSDN博客

【网络】网络层协议ARP和IP协议转发流程-CSDN博客

【网络】网络层ICMP协议-CSDN博客

【网络】传输层TCP协议-CSDN博客


1.1 WireShark简介


wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。常用来检测网络问题、攻击溯源、或者分析底层通信机制。

cmd输入ipconfig,下图中是我的IP:192.168.21.218

下图左侧对应你的电脑网卡,可以注意旁边的折线图,有波动的就是在使用的网卡。

停止运行,再点击捕获,选项,可以看到是否选择混杂模式

如下选择使用混杂模式

混杂模式︰混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。
普通模式:普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。
一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。

1.2 常用的Wireshark过滤方式


  • IP地址过滤:通过指定源IP地址或目的IP地址来过滤数据包,例如:ip.src==192.168.1.1 或 ip.dst==192.168.1.1。
  • 网络协议过滤:通过指定网络协议来过滤数据包,例如:tcp、udp、Http等。
  • 端口过滤:通过指定源端口或目的端口来过滤数据包,例如:tcp.srcport==80 或 tcp.dstport==443。
  • 数据包长度过滤:通过指定数据包的长度来过滤数据包,例如:frame.len>100。
  • 数据包内容过滤:通过指定数据包中的特定内容来过滤数据包,例如:http contains "passWord"。
  • 协议字段过滤:通过指定协议字段的值来过滤数据包,例如:http.response.code==200。
  • 时间窗口过滤:通过指定时间范围来过滤数据包,例如:frame.time>= "2022-01-01 00:00:00" and frame.time<= "2022-01-01 23:59:59"。
  • 组合过滤可以通过使用逻辑运算符(and、or、not)来组合多个过滤条件,例如:ip.src==192.168.1.1 and tcp.dstport==80。

二、如何抓包搜索关键字


2.1 协议过滤


点击蓝色鲨鱼状的是开始捕获,红色方块是停止。

比如说查TCP、UDP建立连接的时候是什么样的

tcp协议过滤

或者抓http的包,访问 192.168.2.153:8080

抓包结果如下,153 页面刷新响应218 HTTP 200 OK

2.2 IP过滤


或者搜一下我的网关试试

IP源地址:ip.src == 192.168.21.218
IP目的地址:ip.dst == 192.168.21.218
IP地址(包括源和目的): ip.addr == 192.168.21.218
逻辑运算符为 AND/ OR

有着强大的联想提示功能,我们输入"ip."后会有提示

示例如下:过滤本地 192.168.21.218 到 192.168.2.153 且协议为 http 的数据包:

ip.src_host == 192.168.21.218 and ip.dst_host == 192.168.2.153 and http

2.3 过滤端口


语法格式:

TCP端口:tcp.port == 80TCP目的端口:tcp.dstport == 80TCP源端口:tcp.srcport == 80UDP端口:udp.port eq 15000TCP 1-80之间的端口:tcp.port >= 1 and tcp.port <= 80tcp.port == 8080 || udp.port == 80

如下过滤8080 端口,可以看到从本机192.168.21.218 到 192.168.2.153且为HTTP协议

2.4 过滤MAC地址


语法格式

源MAC地址:eth.src == 8c-ec-4b-bc-94-ad目的MAC地址:eth.dst == 8c-ec-4b-7c-3b-f8MAC地址(包括源和目的):eth.addr == e0-78-a3-02-83-38

windows执行 arp -a可以看到本机所有网络接口接收到的IP及对应的物理地址

示例如下:

eth.addr==e0-78-a3-02-83-38

2.5 过滤包长度


语法格式

整个UDP数据包:udp.length == 20TCP数据包中的IP数据包:tcp.len >= 20整个IP数据包:ip.len == 20整个数据包:frame.len == 20

2.6 HTTP模式过滤


请求方法为GET :http.request.method=="GET"请求方法为POST:http.request.method=="POST"指定URI:http.request.uri.path contains "x"泛   指:http contains "x"

如下获取GET请求

http.request.method == "GET"


三、ARP协议分析


ARP(Address Resolution Protocol)即地址解析协议由于是IP协议使用了ARP协议,因此通常就把ARP协议划归网络层。ARP协议的用途是为了从网络层使用的IP地址解析出在数据链路层使用的硬件地址。ARP的基本功能就是负责将一个已知的IP地址解析成MAC地址,以便主机间能正常进行通信。

ping 192.168.21.254(这是我的网关)

如下是我本地的IP和物理地址

示例如下:

192.168.21.218(本机)发出一个广播来询问MAC地址:Who Has 192.168.21.254? Tell 192.168.21.218
182.168.21.254 做出应答:182.168.21.1254的MAC地址是 74: ea: c8: b1:51: 3f

ARP请求包(request)192.168.21.218——> 192.168.21.254

ARP响应包(reply)192.168.21.254——> 192.168.21.218


四、WireShark之ICMP协议


网络层使用了网际控制报文协议ICMP,Internet控制报文协议(Intemet Control Message Protocol, ICMP)是IP协议的一种补充,它与IP协议结合使用,以便提供与IP协议层配置和IP数据包处理相关的诊断和控制信息(IP协议本身并没有为终端系统提供直接的方法来发现那些发往目的地址失败的IP数据包,也没有提供直接的方式来获取诊断信息。)

ICMP通常被认为是IP层的一部分,它是在IP数据报内被封装传输的。

icmp数据包解读

(1)	Frame: 物理层
(2)	Ethernet II: 数据链路层
(3)	Internet Protocol Version 4: 网络层
(4)	Internet Control Message Protocol: icmp信息ping www.baidu.com

具体详情文章:【网络】网络层ICMP协议-CSDN博客


五、TCP三次握手与四次挥手


5.1 TCP三次握手


【网络】传输层TCP协议 | 三次握手 | 四次挥手-CSDN博客

下面是常见的TCP层的常用FLAGS。

标志位

描述

SYN

建立连接

ACK

确认

PSH

有 DATA数据传输

FIN

关闭连接

RST

连接重置

标志位:
SYN(synchronize)指请求同步
ACK指确认同步

TCP 建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。下图为客户端主动发起的图解:

获取百度的IP地址

tcp && ip.addr == 110.242.68.3
www.baidu.com的IP地址(目的IP)

输入后,回车。刚开始页面是空的流量信息,接下来打开百度首页(浏览器网址www.baidu.com),关注这里的流量信息,可以发现三次握手的流量包信息已经显示在下方了

第一次握手

客户端发送一个TCP,标志位为SYN=1, 代表客户端请求建立连接。等待服务器收到数据包后,客户端变为监听状态。

第二次握手

服务器发回确认包, 标志位为 SYN,ACK。
SYN=1表示已经同步数据包
ACK=1表示确认收到
seq设为0,即服务器发出的第0个数据包
将确认序号设置为客户的seq加1,即ack=0+1=1

第三次握手

客户端再次发送确认包,SYN标志位为0,ACK标志位为1。
seq=0+1=1,客户端发送的第二个包,编号为1
ack=0+1=1,回复给服务器,表示服务器发出的0数据包已经收到。

5.2 可视化看TCP三次握手


统计——>流量图

三次握手的整个过程简单总结:

5.3 TCP四次挥手


本机地址:192.168.21.218,www.baidu.com的IP地址(IP 110.242.68.3)

第一次挥手baidu.com发送带有[FIN,ACK]标志的数据包发送至本机,Seq=849,ACK=2786,发送后baidu.com进入FIN-WAIT-1(终止等待)状态。

此时Fin和Ack都为1,是一个客户端发送连接请求。

第二次挥手:本机收到baidu.com的FIN数据包,向baidu.com响应ACK数据包,Seq=2786(与baidu.com的FIN数据包 ACK值相同),ACK=850(等于baidu.com FIN数据包的 Seq +1 )。后本机进入了CLOSE-WAIT(关闭等待)状态。

第三次挥手:数据发送完后,本机向baidu.com发送[FIN,ACK]报文,Seq=2786(与上一条报文的Seq值相同),ACK=850(与上一条报文的ACK值相同)。

第四次挥手:baidu.com向本机发送标志为[RST,ACK]的报文,Seq=850(与本机发送baidu.com的FIN报文ACK值相同),ACK=2787(与本机发送到baidu.com的FIN报文的Seq值相同)。

RST:该标志表示连接复位请求,用来复位那些产生的错误连接,也用来拒绝错误和非法的数据包

5.4 可视化看TCP四次挥手


统计——>流量图

5.5 异常情况


异常情况:RST终止

在研究这三四次挥手的时候,发现了异常终止情况

我们一般都是正常的等待终止连接,但这时出现了服务器提出终止连接请求,看来是 TCP连接异常中断,因为TCP是全双工通信,两者通信地位相等,双方都有权利主动终止请求。

在服务器主动发送终止指令后,客户端被动响应终止。然后客户端主动提出keep-alive不断开连接,服务器响应再一次客户端提出keep-alive的时候,服务器RST终止了异常的连接。

————————————————

参考原文链接:wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】_wireshark监测异常行为介绍-CSDN博客

【网络安全】Wireshark过滤数据包&分析TCP三次握手_wireshark过滤tcp-CSDN博客

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

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

相关文章

Jmeter学习系列之一:Jmeter的详细介绍

目录 一、Jmeter的介绍 二、Jemeter的特点 三、Jemter相关概念 3.1采样器&#xff08;Samplers&#xff09; 3.2逻辑控制器&#xff08;Logic Controllers&#xff09; 3.3监听器&#xff08;Listeners&#xff09; 3.4配置元件&#xff08;Configuration Elements&#…

Mac安装配置maven

Mac安装配置maven 官网下载地址&#xff1a;https://maven.apache.org/download.cgi 下载好以后解压配置 maven 环境变量 打开终端&#xff0c;输入命令打开配置文件./bash_profile open ~/.bash_profile输入i进入编辑模式,进行maven配置; MAVEN_HOME为maven的本地路径 ex…

Phoncent博客GPT写作工具

对于许多人来说&#xff0c;写作并不是一件轻松的事情。有时候&#xff0c;我们可能会遇到写作灵感枯竭、写作思路混乱、语言表达困难等问题。为了解决这些问题&#xff0c;Phoncent博客推出了一款创新的工具——GPT写作工具&#xff0c;它利用了GPT技术&#xff0c;为用户提供…

Springboot入门教程详解

Springboot入门教程详解 博客主页&#xff1a;划水的阿瞒的博客主页 欢迎关注&#x1f5b1;点赞&#x1f380;收藏⭐留言✒ 系列专栏&#xff1a;Springboot入门教程详解首发时间&#xff1a;&#x1f39e;2024年1月29日&#x1f3a0; 如果觉得博主的文章还不错的话&#xff0c…

vue+axios+promise实际开发用法

vueaxiospromise实际开发用法 vuex 核心 & 数据响应式原理 vuex 使用总结&#xff08;详解&#xff09; vue的双向绑定原理及实现 一、axios的介绍 axios 是由 promise 封装的一个 http 的库。 promise是 es6 为解决异步编程的。 什么是异步&#xff1f; 1. 不会按…

【大数据】Flink 架构(六):保存点 Savepoint

《Flink 架构》系列&#xff08;已完结&#xff09;&#xff0c;共包含以下 6 篇文章&#xff1a; Flink 架构&#xff08;一&#xff09;&#xff1a;系统架构Flink 架构&#xff08;二&#xff09;&#xff1a;数据传输Flink 架构&#xff08;三&#xff09;&#xff1a;事件…

你这人能不能灵活点?前端代码简单优化一下?

公众号&#xff1a;程序员白特&#xff0c;可jia前端qun 背景 贴近目前公司的业务&#xff0c;做的增删改查比较多。基本上都是做一些表格的业务系统比较多&#xff0c;因此在写的过程中&#xff0c;都会遇到一些优化的细点&#xff0c;仅供参考&#xff0c;觉得好的可以采纳&a…

FairGuard游戏加固入选《CCSIP 2023中国网络安全行业全景册(第六版)》

2024年1月24日&#xff0c; FreeBuf咨询正式发布《CCSIP 2023中国网络安全行业全景册(第六版)》。本次发布的全景图&#xff0c;共计展示20个一级分类、108个细分安全领域&#xff0c;旨在为广大企业提供网络安全产品选型参考&#xff0c;帮助企业了解中国网络安全技术与市场的…

C++11——新的类功能与可变参数模板

系列文章目录 文章目录 系列文章目录一、新的类功能默认成员函数类成员变量初始化强制生成默认函数的关键字default禁止生成默认函数的关键字delete继承和多态中的final与override关键字 二、可变参数模板递归函数方式展开参数包逗号表达式展开参数包STL容器中的empalce_back与…

100天精通鸿蒙从入门到跳槽——第20天:ArkTS装饰器@Link双向数据绑定

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》 — Go语言学习之旅!《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师!100天…

免费分享一套微信小程序外卖跑腿点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序外卖跑腿点餐(订餐)系统(uni-appSpringBoot后端Vue管理端技术实现) &#xff0c;分享下哈。 项目视频演示 【免费】微信小程序外卖跑腿点餐(订餐)系统(uni-appSpringBoot后端Vue管理端技术实现)…

【开源】基于JAVA语言的毕业生追踪系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

SSL加密证书免费申请

首先&#xff0c;让我们来了解一下SSL证书的基本作用。SSL证书通过公钥和私钥的非对称加密技术&#xff0c;使得服务器与浏览器之间的通信内容得到高强度加密&#xff0c;同时验证网站的真实身份&#xff0c;从而提升用户的信任度&#xff0c;也是搜索引擎排名优化的一个重要因…

Idea设置代理后无法clone git项目

背景 对于我们程序员来说&#xff0c;经常上github找项目、找资料是必不可少的&#xff0c;但是一些原因&#xff0c;我们访问的时候速度特别的慢&#xff0c;需要有个代理&#xff0c;才能正常的访问。 今天碰到个问题&#xff0c;使用idea工具 clone项目&#xff0c;速度特…

2.【Vue3】Vue 基本使用——局部使用Vue

文章目录 1. 快速入门2. 常用指令2.1 v-for2.2 v-bind2.3 v-if 与 v-show2.4 v-on2.5 v-model 3. 生命周期4. Ajax 函数库 Axios4.1 Axios 基本使用4.2 Axios 请求方式别名 1. 快速入门 现在需要将 “hello vue3” 这样一个字符串渲染到页面上进行展示。 这个需求并不陌生&…

Vue-Cli3 - 从安装 nodejs 配置环境 ~ 搭建 cli 脚手架项目全过程

目录 前言提示 一、安装 & 配置 nodejs 1.1、安装 nodejs 1.2、配置必要目录 1.3、配置环境变量 1.4、测试 安装&配置 是否成功 1.5、安装淘宝镜像 1.5、cnpm 安装&#xff08;推荐安装&#xff09; 二、vue-cli3 创建项目 2.1、vue-cli2 和 vue-cli3 主要区…

C语言——N / 自定义类型:联合和枚举

目录 一、联合体 1、联合体类型的声明 2、联合体的特点 3、相同成员的结构体和联合体对比 4、联合体大小的计算 5、联合的一个练习 二、枚举类型 1、枚举类型的声明 2、枚举类型的优点 3、枚举类型的使用 一、联合体 1、联合体类型的声明 像结构体⼀样&#xff0c;…

批量导出域控用户及其所在OU和组

在Windows域环境中&#xff0c;批量导出域控用户及其所在OU&#xff08;组织单位&#xff09;和组成员身份信息&#xff0c;可以使用PowerShell脚本实现。以下是一个基本的示例脚本&#xff1a; Import-Module ActiveDirectory# 遍历所有用户 Get-ADUser -Filter * -Propertie…

GitLab16.8配置webhooks、Jenkins2.4配置GitLab插件实现持续集成、配置宝塔面板实现持续部署(其三)

看本篇文章的前提是已经部署完GItlab和Jenkins服务器&#xff0c;已经可以手动构建成功&#xff0c;并且经过了很多次实践&#xff0c;对这两款软件基本熟悉。 建议大家按以下顺序看 前端自动化&#xff08;其一&#xff09;部署gitlab 前端自动化&#xff08;其二&#xff0…

05.领域驱动设计:认识领域事件,解耦微服务的关键

目录 1、概述 2、领域事件 2.1 如何识别领域事件 1.微服务内的领域事件 2.微服务之间的领域事件 3、领域事件总体架构 3.1 事件构建和发布 3.2 事件数据持久化 3.3 事件总线 (EventBus) 3.4 消息中间件 3.5 事件接收和处理 4、案例 5、总结 1、概述 在事件风暴&a…