当前位置: 首页 > news >正文

WireShark如何抓包,各种协议(HTTP、ARP、ICMP)的过滤或分析,用WireShark实现TCP三次握手和四次挥手

WireShark

  • 一、开启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三次握手和四次挥手

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

一、开启WireShark的大门

cmd——>ipconfig

我连的是WIFI,这是我的IP
在这里插入图片描述
左侧对应你的电脑网卡,可以注意右侧的折线图,有波动的就是我在使用的网卡。
在这里插入图片描述

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

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

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

二、如何抓包 搜索关键字

2.1 协议过滤

点击箭头指向的红色方框,就会出现蓝色鲨鱼状的。
在这里插入图片描述

比如说查TCP、UDP建立连接的时候是什么样的,至于协议为什么有其他的协议是因为这些协议的最顶层都是TCP或者UDP

在这里插入图片描述
在这里插入图片描述
再或者如何抓http的包
在这里插入图片描述
其他的协议同理咯。

2.2 IP过滤

或者搜一下我的网关试试
在这里插入图片描述
注意:抓包的时候蓝色的亮

在这里插入图片描述

语法格式:

IP源地址:ip.src == 192.168.1.1IP目的地址:ip.dst == 192.168.1.1IP地址(包括源和目的):ip.addr == 192.168.1.1

我凭感觉试了一个,还真能弄出来

ip.src_host == 192.168.1.108 and ip.dst_host == 192.168.1.1

在这里插入图片描述
欢迎关注:宝藏女孩的成长日记
地址:https://blog.csdn.net/hanhanwanghaha

2.3 过滤端口

语法格式

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

例如

tcp.port == 80 || udp.port == 80

在这里插入图片描述

2.4 过滤MAC地址

语法格式

源MAC地址:eth.src==00-BB-60-7C-A4-BB目的MAC地址:eth.dst==00-BB-60-7C-A4-BFMAC地址(包括源和目的):eth.addr==00-BB-60-7C-A4-BB

在这里插入图片描述

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"

例如

http.request.method == "GET"

在这里插入图片描述

三、ARP协议分析

ARP的基本功能就是负责将一个已知的IP地址解析成MAC地址,以便主机间能正常进行通信。

cmd

ping 192.168.1.1(这是我的网关)

在这里插入图片描述

192.168.1.108发出一个广播来询问MAC地址:Who Has 192.168.1.108? Tell 192.168.1.1
182.168.1.108做出应答:182.168.1.108的MAC地址是 ee: bb: 60: 7c:a4: bb

ARP请求包
在这里插入图片描述
ARP响应包

在这里插入图片描述

四、WireShark之ICMP协议

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 [3] 它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

icmp数据包解读

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

在这里插入图片描述

在这里插入图片描述
可以看到windows下ping默认执行四次ping,因此,Wireshark抓到8个ICMP查询报文,随便点一个看
在这里插入图片描述
分析:

在这里插入图片描述
Code: 0 表示发成功

校验完整性:

Checksum: ex4d32 [ correct]
[checksum Status: Good]

检查数据有么有被黑客篡改过
在这里插入图片描述

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

SYN(synchronize)指请求同步
ACK指确认同步

5.1 TCP三次握手实验

在这里插入图片描述
获取百度的IP地址

ping www.baidu.com

在这里插入图片描述

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

输入后,回车。可以看到下面还是空的流量信息。现在再打开百度首页(浏览器网址www.baidu.com),关注这里的流量信息,可以发现三次握手的流量包信息已经显示在下方了
在这里插入图片描述
第一次握手
在这里插入图片描述
第二次握手

在这里插入图片描述

第三次握手
在这里插入图片描述
欢迎关注:宝藏女孩的成长日记
地址:https://blog.csdn.net/hanhanwanghaha

5.2 可视化看TCP三次握手

统计——>流量图

在这里插入图片描述
这种说实话还挺好看的hhh。在这里插入图片描述

在这里插入图片描述
SYN洪泛攻击:一直发送第一次握手的SYN数据包,并不进行确认,导致服务器有大量挂起等待确认的TCP连接,消耗CPU和内存,进而导致死机
解决方法:SYN cookie

5.3 TCP四次挥手

在这里插入图片描述

SYN指请求同步
ACK指确认同步
FIN指结束

四次挥手

本机地址:192.168.1.108
百度地址:163.177.151.110(注意:这个每个人不一样,要ping www.baidu.com查)

在这里插入图片描述
第一次挥手:本机发送带有[FIN,ACK]标志的数据包发送至baidu.com,Seq=21939,ACK=115238,发送后 主机A进入FIN-WAIT-1(终止等待)状态。

192.168.1.108 163.177.151.110 TCP 5463085 > 443[FIN,ACK] Seq=21939 Ack=115238 Win=131584 Len=e

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

163.177.151.110 192.168.1.108 TCP 54 44363085 [ACK] Seq=115238 Ack=21940 win=75264 Len=0

第三次挥手:数据发送完后,baidu.com向本机发送[FIN,ACK]报文,Seq=115269(在半关闭状态服务器可能又发送了一些数据,数据长度为31,我自己的理解),ACK=21940(与上一条报文的ACK值相同)。

163.177.151.116 192.168.1.108 TCP 54 44363085 [FIN,ACK] Seq=115269 Ack=21940 win=75264 Len=0

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

192.168.1.108 163.177.151.110 TCP 54 63085443 [RST,ACK ] Seq=21940 Ack=115269 win=0 Len=0

四次挥手过程完成,等过等待计时器设置的2MSL(最长报文段寿命后)TCP连接才真正释放。本机才真正进入COSED状态。
可视化
在这里插入图片描述
看刚刚第三次握手数据长度为31,证明我的理解是对的。

以上为我参考了n多资料后自己的理解,如有大佬看到有不对的地方还请指教!

5.4 总结TCP三次握手和四次挥手

总结:
在这里插入图片描述

这周六或者周天的时候,打算自己写一个web页面测试黑客是如何利用WireShark获取用户密码的,(最迟下周末,flag立下了)感觉很有意思。

相关文章:

WireShark如何抓包,各种协议(HTTP、ARP、ICMP)的过滤或分析,用WireShark实现TCP三次握手和四次挥手

WireShark一、开启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.…...

熬夜30天吃透这九大Java核心专题,我收割了3个大厂offer

这次一共收割了3个大厂offer&#xff0c;分别是蚂蚁金服、美团和网易&#xff0c;特意分享这次对我帮助非常大的宝典资料&#xff0c;一共涉及九大核心专题&#xff0c;分别是计算机网络、操作系统、MySQL、Linux、JAVA、JVM、Redis、消息队列与分布式、网站优化相关&#xff0…...

DMHS搭建DMDSC 2节点集群同步到单库

DMHS搭建DMDSC 2节点集群同步到单库环境介绍1 安装DMOCI1.1 关闭数据库实例服务1.2 将DMOCI 复制到源端与目的端的数据库bin目录1.3 对数据库bin 执行目录文件更改用户属组和权限2 启动源数据库服务并配置数据库实例参数2.1 使用DMCSSM启动集群实例2.2 DMDSC源其中一个节点执行…...

一条sql执行很慢可能的原因,如何优化

文章目录 sql怎么会变慢呢?1、大多数情况下很正常,偶尔很慢,则有如下原因2、这条 SQL 语句一直执行的很慢,则有如下原因:慢sql优化数据库中设置SQL慢查询分析慢查询日志慢sql如何让优化索引sql语句1、分页查询优化2、优化insert语句数据库结构优化优化器优化架构优化总结s…...

【设计模式】适配器模式和桥接模式

适配器模式 适配器模式 : 就是将一个类的接口变成客户端所期望的另一种接口&#xff0c;使得原本因为接口不匹配而无法一起工作的接口可以正常工作。属于结构型模式 比方说我有一个A牌子的奶瓶&#xff0c;然后买了个B牌子的奶嘴&#xff0c;不能匹配怎么办? 再买一个转换器…...

被隐藏的过程——预处理

文章目录0. 前言1. 程序的翻译环境和执行环境2. 被隐藏的过程2.1 翻译环境2.2 编译3.2.1 预编译3.2.2 编译2.2.3 汇编2.3 链接2.4 运行环境3. 预处理3.1 预定义符号3.2 #define3.2.1 #define定义标识符3.2.2 #define定义宏3.2.3 #define替换规则3.2.4 #和##3.2.5 带副作用的宏参…...

strace 用法介绍

strace 是什么 strace 是一个可用于诊断和调试的 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互&#xff0c;比如系统调用、信号传递、进程状态变更等。 strace 作为一种动态跟踪工具&#xff0c;能够帮助我们高效地定位进程和服务故障。它像是一个侦探&…...

TiDB数据库架构概述

文章目录TiDB体系架构TiDB ServerStorage Cluster(存储引擎)PD cluster题目TiDB体系架构 TiDB Server Sql语句最先到达 TiDB Server集群 它是无状态的&#xff0c;数据并不是存储在这里面&#xff0c;当一个会话连接到TiDB Server集群上&#xff0c;sql语句发过来&#xff0c…...

[深入理解SSD系列综述 闪存实战2.1.2] SLC、MLC、TLC、QLC、PLC NAND_固态硬盘闪存颗粒类型

闪存最小物理单位是 Cell, 一个Cell 是一个晶体管。 闪存是通过晶体管储存电子来表示信息的。在晶体管上加入了浮动栅贮存电子。数据是0或1取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1. SSD 根据闪存颗粒区分,固态硬盘有SLC、MLC、TLC、QLC、PLC 五种类型…...

游戏逆向之游戏技能分析

角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的&#xff0c;而这个筛选的过程大多非常的复杂&#xff0c;经过的代码和临时结构体的传递也非常的多&#xff0c;所以在分析技能对象来源的时候常常要将OD和CE配合来使用。下面我们来分析下《天堂2》的技能列表。 首…...

汽车制造商与IT公司之间的技术合作案例

如果您对最新汽车技术感兴趣的话,您可能经常听到汽车制造商和IT公司正在合作开发技术的消息。汽车生产商为何自身不进行技术开发,而是与IT企业合作呢?因为最近随着以IT技术为基础的电动汽车等环保汽车或无人驾驶汽车等的登场和发展,汽车制造商单独进行技术开发需要花费很多时间…...

funkyheatmap | 用这个包来完美复刻Nature Biotechnology的高颜值神图吧!~

1写在前面 天气开始暖和了☀️&#xff0c;发现旅游的人好多啊&#xff01;~&#x1f972; 不知道自己什么时候能有时间出去看看外面的世界&#xff0c;实在是太忙了。&#x1f637; 最近用到的有个包感觉很不错&#xff0c;分享给大家&#xff0c;funkyheatmap包。&#x1f61…...

tomcat8调优

环境说明Jdk&#xff1a;1.8Tomcat: 8.5.69服务器 &#xff1a;2核 8G方案当调整Tomcat配置时&#xff0c;具体的配置方法可能会有所不同&#xff0c;因为它们受到许多因素的影响&#xff0c;例如Tomcat版本、操作系统、硬件配置等等。以下是每个建议的一些具体配置示例&#x…...

VS Code 解决 SpringBoot 项目启动时报 Failed to refresh live data from process **** 的问题

问题 SpringBoot 启动后 &#xff0c;VS Code 报错 Failed to refresh live data from process ****。 现场是&#xff0c;SpringBoot 项目启动时&#xff0c;VS Code 将进行如下刷新&#xff0c;图片如下所示 当刷新 10 次以后&#xff0c;如果还是失败&#xff0c;则会抛出…...

[ 红队知识库 ] 各种重要文件路径

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

Ajax和JSON的基本用法

局部请求页面不会变化&#xff0c;返回的响应我们要动态获取&#xff0c;获取后选择数据更新区域。<body> <input id"btnLoad" type"button" value"加载"> <div id"divContent"></div> <script>//获取点…...

【项目实战】基于netty-websocket-spring-boot-starter实现WebSocket服务器长链接处理

一、背景 项目中需要建立客户端与服务端之间的长链接&#xff0c;首先就考虑用WebSocket&#xff0c;再来SpringBoot原来整合WebSocket方式并不高效&#xff0c;因此找到了netty-websocket-spring-boot-starter 这款脚手架&#xff0c;它能让我们在SpringBoot中使用Netty来开发…...

BC双驱、ChatGPT大火,AI独角兽撬开盈利大门?

配图来自Canva可画 放眼AI行业&#xff0c;各大AI玩家长期亏损、“钱”景堪忧。 回看过去一年&#xff0c;部分AI独角兽的亏损问题愈发尖锐——云从科技2022年净亏损同比扩大至8.5亿元&#xff1b;寒武纪2022年净亏损11.6亿元&#xff0c;较上年同期扩大41.4%&#xff1b;地平…...

1/4车、1/2车、整车悬架H2/H∞控制仿真合集

目录 前言 1. 1/4悬架系统 1.1数学模型 1.2 H2/H∞求解反馈阵阵 1.3仿真分析 2. 1/2悬架系统 2.1数学模型 2.2 H2/H∞求解反馈阵阵 2.3仿真分析 3. 整车悬架系统 3.1数学模型 整车7自由度主动悬架数学模型 3.2 H2/H∞求解反馈阵阵 3.3仿真分析 4.总结 参考文献 …...

Git使用教程、命令

Git使用教程、命令 基本配置 git的配置文件位置&#xff1a; win: c:\users\<userName>\.gitconfig linux: /home/<userName>/.gitconfig # 个人/etc/gitconfig # 系统全局# 修改git init时的默认分支为master&#x…...

《c++ primer笔记》第九章 顺序容器

前言 知识点很多&#xff0c;这里只记录遗忘的。从这章开始会对前面章节的内容进行一个扩充&#xff0c;如果以前的忘了读起来会有点吃力。总的来说&#xff0c;本章节难度不大。 文章目录一、概述二、容器库概览2.1容器定义和初始化2.2赋值三、顺序容器操作3.1添加元素3.2删除…...

QML动画(弹动和翻转效果)

Flickable&#xff08;弹动&#xff09; QML中提供了一个Flickable元素&#xff0c;可以将其子项设置在一个可以拖拽和弹动的界面上&#xff0c;使得子项目的视图可以滚动。在传统的用户界面中&#xff0c;可以使用标准控件&#xff08;如滚动条和箭头按钮&#xff09;滚动视图…...

GPS启动方式、定位速度、定位精度介绍

前面文章介绍了GPS定位基础知识 GPS定位知识介绍 (qq.com) 本文主要介绍GPS启动方式。 定位过程中最重要的辅助信息是时间、星历、位置。 根据辅助信息不同,...

深度学习零基础学习之路——第五章 个人数据集的制作

Python深度学习入门 第一章 Python深度学习入门之环境软件配置 第二章 Python深度学习入门之数据处理Dataset的使用 第三章 数据可视化TensorBoard和TochVision的使用 第四章 UNet-Family中Unet、Unet和Unet3的简介 第五章 个人数据集的制作 深度学习数据集的制作Python深度学…...

女神节 | PHP和Java算什么,女工程师才是最美最好的语言!

世界上第一个程序员是女性 第一个发现Bug的也是女性 在智领云有一群追求快乐和独立的女性工程师 她们多有魅力&#xff1f; 工位上她们专注于数据与代码 平日里郊游、瑜伽、插花、科学养娃一件不落 不仅用0和1编织数字世界 也在用心装点自己的生活 今天是国际劳动妇女节…...

【Python】装饰器

一、装饰器的作用 装饰器能够为已经存在的对象添加额外的功能。 二、什么是装饰器 装饰器本质是一个python函数&#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能&#xff0c;装饰器的返回值也是一个函数对象。 三、装饰器的应用场景 插入日志、性能…...

Spring事务及传播机制

概念 在MySQL中介绍过&#xff0c;当同一时间出现一起读写数据的情况&#xff0c;可能会导致最终的结果出错&#xff0c;因此可以使用事务来提高隔离级别 而Spring中也可以实现事务 手动添加事务 使用SpringBoot中的DataSourceTransactionManager对象可以获取事务&#xff0…...

43-Golang中的goroutine!!!

Golang中的goroutine进程和线程说明并发和并行并发并行Go协程和Go主线程案例小结goroutine的调度机制MPG模式基本介绍MPG模式运行的状态1MPG模式运行的状态2设置GOlang运行的CPU数不同 goroutine之间如何通讯使用全局变量加锁同步改进程序进程和线程说明 1.进程就是程序在操作…...

[深入理解SSD系列 闪存实战2.1.5] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现

前言 上面是我使用的NAND FLASH的硬件原理图,面对这些引脚,很难明白他们是什么含义, 下面先来个热身: 问1. 原理图上NAND FLASH只有数据线,怎么传输地址? 答1.在DATA0~DATA7上既传输数据,又传输地址 当ALE为高电平时传输的是地址, 问2. 从NAND FLASH芯片手册可知,要…...

pandas库中的read_csv函数读取数据时候的路径问题详解(ValueError: embedded null character)

read_csv()函数不仅是R语言中的一个读取csv文件的函数&#xff0c;也是pandas库中的一个函数。pandas是一个用于数据分析和处理的python库。它的read_csv函数可以读取csv文件里的数据&#xff0c;并将其转化为pandas里面的DataFrame对象。它由很多参数可以设置&#xff0c;例如…...