【网络】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 == 80

TCP目的端口:tcp.dstport == 80

TCP源端口:tcp.srcport == 80

UDP端口:udp.port eq 15000

TCP 1-80之间的端口:tcp.port >= 1 and tcp.port <= 80

tcp.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-f8

MAC地址(包括源和目的):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 == 20

TCP数据包中的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博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python笔记15-实战小游戏飞机大战(中)

文章目录 创建第一个敌机创建一群敌机创建多行敌机让敌机移动射杀敌机生成新的敌机群结束游戏有敌机到达屏幕底端游戏结束 在上一篇基础上继续 本示例源码地址 点击下载 创建第一个敌机 在屏幕上放置外星人与放置飞船类似。每个外星人的行为都由Alien 类控制&#xff0c;我们…

C++面试宝典第25题:阶乘末尾零的个数

题目 给定一个整数n,返回n!(n的阶乘)结果尾数中零的个数。 示例 1: 输入:3 输出:0 解释:3! = 6,尾数中没有零。 示例 2: 输入:5 输出:1 解释:5! = 120,尾数中有1个零。 解析 这道题主要考察应聘者对于数学问题的分析和理解能力,以及在多个解决方案中,寻求最优…

从零学习Linux操作系统 第二十部分 mariadb数据库的管理

一、对于数据库的基本介绍 1.什么是数据库 数据库就是个高级的表格软件 2.常见数据库 Mysql Oracle mongodb db2 sqlite sqlserver … 3.Mysql (SUN -----> Oracle) 4.mariadb (Mysql的一种&#xff09; 数据库中的常用名词 1.字段 &#xff1a;表格中的表头 2.表 &…

MySQL原理(一)架构组成(1)物理文件组成

目录 一、日志文件 1、错误日志 Error Log 1.1、作用&#xff1a; 1.2、开启关闭&#xff1a; 1.3、使用 2、二进制日志 Binary Log & Binary Log Index 2.1、作用&#xff1a; 2.2、开启关闭&#xff1a; 2.3、Binlog还有一些附加选项参数 &#xff08;1&#x…

嵌入式C++必知必会之基础知识-常用关键字(1)

温故而知新 Hello&#xff0c;大家好&#xff01;我是木荣。温故而知新&#xff0c;可以为师矣。作为一名攻城狮&#xff0c;扎实的基本功是解决问题及完成工作中任务的重要前提。没有良好的基本功作为铺垫&#xff0c;一味的追求知识的宽度是毫无意义&#xff0c;知其然更要知…

野火霸道V2学习笔记

STM32F103学习笔记 STM32F103学习笔记说明基础配置配置KeilMDK配置串口下载程序美化Keil界面配置VScode 理论知识STM32命名方式例子 置位与清零GPIOGPIO简介GPIO和引脚的区别引脚的分类 GPIO 框图讲解保护二极管推挽输出推挽输出的含义推挽输出的原理推挽输出的特点推挽输出的应…

力扣题目训练(3)

2024年1月27日力扣题目训练 2024年1月27日力扣题目训练290. 单词规律292. Nim 游戏303. 区域和检索 - 数组不可变91. 解码方法92. 反转链表 II41. 缺失的第一个正数 2024年1月27日力扣题目训练 2024年1月27日第三天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;包…

大数据Doris(六十一):SQL函数之Bitmap函数

文章目录 SQL函数之Bitmap函数 一、BITMAP_AND(BITMAP lhs, BITMAP rhs)

用C#实现最小二乘法(用OxyPlot绘图)

最小二乘法介绍✨ 最小二乘法&#xff08;Least Squares Method&#xff09;是一种常见的数学优化技术&#xff0c;广泛应用于数据拟合、回归分析和参数估计等领域。其目标是通过最小化残差平方和来找到一组参数&#xff0c;使得模型预测值与观测值之间的差异最小化。 最小二…

小白都会的幻兽帕鲁服务器搭建教程(详细图文)

​  简介&#xff1a;由于幻兽帕鲁游戏的火爆&#xff0c;导致其官方服务器频现游戏卡顿掉线&#xff0c;为了能够正常流畅的体验幻兽帕鲁&#xff0c;有不少人都搭建了幻兽帕鲁服务器(私服)&#xff0c;网上虽然也有很多幻兽帕鲁服务器搭建教程&#xff0c;但内容专业性有点…

qq通讯录怎么关闭?QQ好友删除了怎么恢复?

在QQ中&#xff0c;通讯录是我们管理好友和进行聊天的重要工具&#xff0c;但有时候我们可能需要一些隐私保护&#xff0c;不让一些用户通过手机通讯录添加自己。如果您正在思考qq通讯录怎么关闭以及恢复意外删除的好友&#xff0c;本文将为您详细介绍如何关闭QQ通讯录和恢复被…

Java开发秘籍:实战公众号开发指南

目录 第一章&#xff1a;公众号开发简介 1.1 什么是公众号开发 1.2 公众号开发的意义和应用场景 1.3 公众号开发的技术要求和基础知识 第二章&#xff1a;搭建公众号开发环境 2.1 配置Java开发环境 2.2 下载和安装开发工具 2.3 设置公众号开发所需的配置文件 第三章&a…

2024阿里云和腾讯云的第一战打响:搭建《幻兽帕鲁》私服游戏

为了搭建《幻兽帕鲁》游戏私服&#xff0c; 2024年阿里云 VS 腾讯云的第一场战争开始了…… 事情是这样的&#xff1a; 1月19日&#xff0c;最离谱新游 《幻兽帕鲁》突然爆火了&#xff0c;这是一款日本开发商展耗费4年开发的冒险类游戏&#xff0c;这款戏一推出就迅速俘获了…

优思学院|精益管理如何判定哪些活动是增值或非增值?

“时间就是金钱”——这句老话我们都耳熟能详。但在工作中&#xff0c;我们真正从事的、对组织增加价值的活动有多少呢&#xff1f;我们常常认为自己的每一项任务都是维持运营的关键。然而&#xff0c;当我们从精益管理的视角进行分析&#xff0c;可能会惊讶地发现&#xff0c;…

蓝牙----蓝牙连接建立_连接建立

蓝牙----蓝牙连接建立_连接建立 蓝牙连接建立过程图1.主机扫描到广播包1.1判断是否是自己关心的广播包1.2广播地址添加到扫描列表 2.主机扫描结束&#xff0c;建立连接3.主从连接成功后&#xff0c;执行连接建立后事件3.1.主机将连接句柄和设备地址添加到连接列表3.2.主机进行G…

spring boot学习第八篇:操作elastic search的索引和索引中的数据

前提参考&#xff1a;elastic search入门-CSDN博客 前提说明&#xff1a;已经安装好了elastic search 7.x版本&#xff0c;我的es版本是7.11.1 1、 pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns&q…

C++ QT入门1——记事本基础功能实现(基本控件布局+信号与槽+文件类操作)

C QT入门1——记事本基础功能实现&#xff08;基本控件布局信号与槽文件类操作&#xff09; 一、UI界面的基础设置样式表通用配置通过样式表设置按钮三态以图片作为按钮背景 二、按键响应——☆信号与槽信号与槽基本概念按键QPushButton设置信号与槽自定义信号与槽自定义信号与…

【TCP】重传与超时机制

前言 在网络通信的世界里&#xff0c;传输控制协议&#xff08;TCP&#xff09;扮演着一个至关重要的角色。它确保了数据的可靠传输&#xff0c;就像邮差确保每一封信都能准确无误地送达收件人手中一样。但是&#xff0c;网络环境充满了不确定性&#xff0c;数据包可能会因为各…

云堡垒机是软件堡垒机吗?是一种产品吗?

很多小伙伴傻傻分不清楚云堡垒机和软件堡垒机&#xff1f;在问云堡垒机是软件堡垒机吗&#xff1f;是一种产品吗&#xff1f;两者有区别吗&#xff1f;今天我们大家就来一起探讨下&#xff0c;仅供参考哦&#xff01; 首先我们需要知道的是&#xff0c;云堡垒机和软件堡垒机是两…

数字美妆技术:美颜SDK和动态贴纸技术的崭新时代

数字美妆的兴起标志着人们对于自身形象的追求不再局限于现实生活&#xff0c;而是延伸到了虚拟世界。同时&#xff0c;美颜SDK的动态贴纸技术也开始进入到大家的视野之中。 一、美颜SDK&#xff1a;技术之作 通过复杂的图像处理算法&#xff0c;美颜SDK能够实时检测人脸&…