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.1

IP目的地址:ip.dst == 192.168.1.1

IP地址(包括源和目的):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==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 == 80 || udp.port == 80

在这里插入图片描述

2.4 过滤MAC地址

语法格式

源MAC地址:eth.src==00-BB-60-7C-A4-BB

目的MAC地址:eth.dst==00-BB-60-7C-A4-BF

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

在这里插入图片描述

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"

例如

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立下了)感觉很有意思。

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

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

相关文章

PCL 使用ICP点云拼接

一、简介 ICP算法详解——我见过最清晰的解释_负壹的博客-CSDN博客 两个点集&#xff0c;source和target&#xff0c;target不变&#xff0c;source经过旋转&#xff08;Rotation&#xff09;和平移&#xff08;Translation&#xff09;甚至加上尺度&#xff08;Scale&#x…

大聪明教你学Java | 深入浅出聊 SpringBoot 中的 starter 机制

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…

网络安全横向移动指南

在网络安全方面&#xff0c;了解威胁参与者的工具、技术和思维过程非常重要。 一旦对手获得对网络的初始访问权限&#xff0c;横向移动允许他们通过破坏目标组织网络中的其他主机来扩展访问权限并保持持久性。 威胁行为者可以收集有关公司用户活动和凭据、重要数据位置的信息…

Spark - 继承 FileOutputFormat 实现向 HDFS 地址追加文件

目录 一.引言 二.源码浅析 1.RDD.saveAsTextFile 2.TextOutputFormat 3.FileOutputFormat 三.源码修改 1.修改文件生成逻辑 - getRecordWriter 2.允许目录存在 - checkoutputSpecs 3.全部代码 - TextOutputFormatV2 四.追加存储代码实战 五.总结 一.引言 Output d…

关于STM32用DMA传输UART空闲中断中接收的数据时无法接收数据问题以及解决办法

一、stm32 cube ide 配置 1、DMA串口接收数据的ide配置如下图所示 串口1相关的设置及printf函数的使用&#xff0c;这里没放&#xff0c;建议先实现串口打印功能 2、相关的知识点 普通模式和循环模式的区别在于&#xff0c;普通模式下&#xff0c;DMA只会接收一次数据&#x…

微前端(无界)

前言&#xff1a;微前端已经是一个非常成熟的领域了&#xff0c;但开发者不管采用哪个现有方案&#xff0c;在适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户核心诉求都或存在问题&#xff0c;或无法提供支持。本…

DS18B20温度传感器简介和1-Wire驱动程序

目录DS18B20简介DS18B20的两种供电方式64位ROM温度传感器1-Wire Bus简介DS18B20通信时序初始化ROM相关命令(后续包含任何数据交换的操作)功能相关命令(后续包含任何数据交换的操作)单个DS18B20读取温度值驱动多个DS18B20读取温度值驱动DS18B20简介 DS18B20数字温度计提供9位到…

学习系统编程No.7【进程替换】

引言&#xff1a; 北京时间&#xff1a;2023/3/21/7:17&#xff0c;这篇博客本来昨天晚上就能开始写的&#xff0c;但是由于笔试强训的原因&#xff0c;导致时间用在了做题上&#xff0c;通过快2个小时的垂死挣扎&#xff0c;我充分意识到了自己做题能力的缺陷和运用新知识的缺…

致远OA敏感信息泄露漏洞合集(含批量检测POC)

文章目录前言敏感信息泄露A6 status.jsp 信息泄露漏洞漏洞描述漏洞影响网络测绘漏洞复现POC 批量检测getSessionList.jsp Session泄漏漏洞漏洞描述网络测绘批量检测POC致远OA 帆软组件 ReportServer 目录遍历漏洞漏洞描述漏洞影响网络测绘POC(批量检测)A6 createMysql.jsp 数据…

Java stream性能比较

环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU&#xff1a;8核 ➜ ~ cat /proc/cpuinfo | egrep -ie physical id|cpu cores physical id : 0 cpu cores : 1 physical id : 2 cpu cores : 1 physical id : 4 cpu cores : 1 physical id : 6 cpu cores : 1 physical id …

浏览器工作原理

一、JavaScript 的历史 JavaScript&#xff08;简称JS&#xff09;Web前端开发的脚本语言。 它诞生1995年&#xff0c;由网景公司的 Brendan Eich 开发。最初&#xff0c;JavaScript 被设计用于在网页上嵌入动态内容和交互式功能。 1996年&#xff0c;JavaScript 1.1 成为国…

C++虚函数与多态

C虚函数与多态虚函数抽象类纯虚函数虚析构函数多态虚函数的几个问题纯虚函数和ADT虚函数 virtual修饰的成员函数就是虚函数&#xff0c; 1.虚函数对类的内存影响&#xff1a;增加一个指针类型大小&#xff08;32位和64位&#xff09; 2.无论有多少个虚函数&#xff0c;只增加一…

【ansible】模块介绍超详解(下)

目录 六&#xff0c;软件包管理 1&#xff0c;yum_repository模块 &#xff08;1&#xff09;yum_repository模块常用选项 &#xff08;2&#xff09;yum_repository模块案例 2&#xff0c;mount模块 &#xff08;1&#xff09;mount模块选项 &#xff08;2&#xff09;mount模…

大数据简介

大数据概论和职业规划Linux服务器系统Hadoop概论HDFS分布式文件系统Hive数据仓库SparSQL指令Zepplin框架Sqoop框架Superset数据可视化大数据数仓实战-didi出行大数据概念大数据特点大数据应用场景大数据分析业务步骤大数据职业规划大数据学习路线。大数据概念数据&#xff1a;世…

基于YOLOv5的舰船检测与识别系统(Python+清新界面+数据集)

摘要&#xff1a;基于YOLOv5的舰船检测与识别系统用于识别包括渔船、游轮等多种海上船只类型&#xff0c;检测船舰目标并进行识别计数&#xff0c;以提供海洋船只的自动化监测和管理。本文详细介绍船舰类型识别系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的实…

【系统开发】WebSocket + SpringBoot + Vue 搭建简易网页聊天室

文章目录一、数据库搭建二、后端搭建2.1 引入关键依赖2.2 WebSocket配置类2.3 配置跨域2.4 发送消息的控制类三、前端搭建3.1 自定义文件websocket.js3.2 main.js中全局引入websocket3.3 App.vue中声明websocket对象3.4 聊天室界面.vue3.5 最终效果一、数据库搭建 很简单的一个…

数据结构与算法——二叉树+带你实现表达式树(附源码)

&#x1f4d6;作者介绍&#xff1a;22级树莓人&#xff08;计算机专业&#xff09;&#xff0c;热爱编程&#xff1c;目前在c&#xff0b;&#xff0b;阶段&#xff0c;因为最近参加新星计划算法赛道(白佬)&#xff0c;所以加快了脚步&#xff0c;果然急迫感会增加动力>——…

ThreadLocal详解

一、什么是ThreadLocal 1、什么是ThreadLocal&为什么用ThreadLocal ThreadLocal&#xff0c;即线程本地变量&#xff0c;在类定义中的注释如此写This class provides thread-local variables。如果创建了一个ThreadLocal变量&#xff0c;那么访问这个变量的每个线程都会有…

C++基础算法④——排序算法(插入、桶附完整代码)

排序算法 1.插入排序 2.桶排序 1.插入排序 基本思想&#xff1a;将初始数据分为有序部分和无序部分&#xff1b;每一步将无序部分的第一个值插入到前面已经排好序的有序部分中&#xff0c;直到插完所有元素为止。步骤如下&#xff1a; 每次从无序部分中取出第一个值&#x…

图像分类卷积神经网络模型综述

图像分类卷积神经网络模型综述遇到问题 图像分类&#xff1a;核心任务是从给定的分类集合中给图像分配一个标签任务。 输入&#xff1a;图片 输出&#xff1a;类别。 数据集MNIST数据集 MNIST数据集是用来识别手写数字&#xff0c;由0~9共10类别组成。 从MNIST数据集的SD-1和…
最新文章