【Linux/Windows】Wireshark抓包工具下载、安装、使用、数据分析、常用知识点

在这里插入图片描述

文章目录

  • Linux版下载
  • Windows版下载
  • Wireshark使用
  • Wireshark测试Tcp三次握手
  • Wireshark常见过滤条件
  • 本篇小结

更多相关内容可查看

在一个阳光明媚的周五清晨,一起快乐的玩耍一下Wireshark

Linux版下载

1.使用yum安装wireshark

yum -y install wireshark

在这里插入图片描述

2.使用yum安装wireshark-gnome

yum -y install wireshark-gnome

在这里插入图片描述

3.启动会自动弹出Wireshark

sudo wireshark

4.指定网络接口进行数据包捕获
在这里插入图片描述

5.我这里选择了我的服务器-start

在这里插入图片描述

6.查看数据

在这里插入图片描述


Windows版下载

附官网地址:https://www.wireshark.org/download.html

1.按照系统版本选择下载,下载完成后,按照软件提示一路Next安装即可

在这里插入图片描述


Wireshark使用

Linux与Windows界面稍有不同,因Linux在上文已经描述过了,所以这里以windows的为例,来进行抓包尝试

1.打开Wireshark网络分析器,我这里选择了WLAN第一个进行抓包,就可以进行玩耍了

在这里插入图片描述
2.进行数据过滤--会发现有很多大量的信息数据,想找一个自己想要的数据去分析比较费劲
这里是ping的huawei的地址

ping www.huawei.com

过滤条件为

ip.addr == 122.5.53.109 and icmp

在这里插入图片描述

3.针对华为输出的数据进行数据分区

在这里插入图片描述

4.数据列表区分析

在这里插入图片描述
5.数据详细区分析

在这里插入图片描述

Wireshark捕获的网络数据包的详细信息,分为以下四部分:

  1. Frame Information(帧信息):

    • Frame 1380: 这是数据包的序号,表明这是捕获的第1380个数据包。
    • 74 bytes on wire (592 bits): 数据包在网络上传输时的大小是74字节,或者592位。
    • 74 bytes captured (592 bits): 实际捕获的数据包大小也是74字节,或者592位。
  2. Ethernet Information(以太网信息):

    • Ethernet II: 表示使用的是Ethernet II帧类型,这是最常见的以太网帧格式。
    • Src: Intel_52:62:e6 (3c:f0:11:52:62:e6): 源MAC地址是3c:f0:11:52:62:e6,制造商是Intel。
    • Dst: Cisco_fff:ff:20 (00:00:0c:ff:ff:20): 目标MAC地址是00:00:0c:ff:ff:20,制造商是Cisco。
  3. IP Information(IP信息):

    • Internet Protocol Version 4: 表明这是一个IPv4数据包。
    • Src: 10.46.184.213: 源IP地址是10.46.184.213。
    • Dst: 122.55.53.109: 目标IP地址是122.55.53.109。
  4. Protocol Information(协议信息):

    • Internet Control Message Protocol: 表明数据包使用的是ICMP协议,这是用于发送错误消息和操作信息的网络层协议。

Wireshark测试Tcp三次握手

Tcp三次握手流程:

  • 第一步:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;
  • 第二步:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
  • 第三步:服务端发送一个SYN=0,ACK=1的数据包给客户端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

1.ping一下百度,进行抓包尝试

ping命令

ping www.baidu.com

过滤条件

ip.addr == 110.242.68.4

在这里插入图片描述

2.分析详细信息

第一次握手:客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图。

在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Info:52395->80代表客户端请求建立连接
  • SYN:标志位,表示请求建立连接
  • Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
  • Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

第二次握手:服务器发回确认包, 标志位为 SYN,ACK

在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Seq = 0 :初始建立值为0,表示当前还没有发送数据
  • Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

第三次握手:客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1
在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Seq = 1 :表示当前已经发送1个数据
  • Ack = 1 :表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。

由此可见我们已经证实了TCP三次握手的具体内容,看来课本还是没有骗我们的


Wireshark常见过滤条件

以下是一些常见的 Wireshark 过滤条件写法

  1. ip.addr == 192.168.1.1:过滤所有源或目标 IP 地址为 192.168.1.1 的数据包。

  2. ip.src == 192.168.1.1:过滤所有源 IP 地址为 192.168.1.1 的数据包。

  3. ip.dst == 192.168.1.1:过滤所有目标 IP 地址为 192.168.1.1 的数据包。

  4. tcp.port == 80:过滤所有 TCP 端口为 80 的数据包。

  5. udp.port == 53:过滤所有 UDP 端口为 53 的数据包。

  6. http:过滤所有 HTTP 协议的数据包。

  7. ftp:过滤所有 FTP 协议的数据包。

  8. icmp:过滤所有 ICMP 协议的数据包。

  9. frame.len == 64:过滤所有长度为 64 字节的数据包。

  10. ip.addr == 192.168.1.1 && tcp.port == 80:过滤所有源或目标 IP 地址为 192.168.1.1 且 TCP 端口为 80 的数据包。

  11. ip.addr == 192.168.1.1 || tcp.port == 80:过滤所有源或目标 IP 地址为 192.168.1.1 或 TCP 端口为 80 的数据包。

  12. !(ip.addr == 192.168.1.1):过滤所有源或目标 IP 地址不是 192.168.1.1 的数据包。


本篇小结

看完本篇相信很多朋友都能得到收获,不管你是摸鱼刷到这篇文章还是确实需要这个来帮助工作,都希望能够给你带来帮助,为你的技能池再增添一例!

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

TDC 5.0:多集群统一纳管,构建一体化大数据云平台

近期,星环科技数据云平台Transwarp Data Cloud(简称TDC)5.0版本正式发布,TDC5.0架构屏蔽底层多个TDH集群的差异,采用统一操作模式,新增一个多集群抽象与管理层,能够实现多集群网络互通、跨集群资…

一文搞懂Java中的双亲委派

一天正在宿舍里忙着写代码。突然,老师给我布置了一项新任务:优化他正在开发的项目中的类加载机制。我对类加载器了解不多,开始翻阅各种资料,逐渐了解了Java中的类加载器机制。尤其是当读到双亲委派模型时,脑海中豁然开…

【鸿蒙学习笔记】舜和酒店项目开发

这里写目录标题 前期准备1. 环境准备2. 开发工具准备 创建项目1. 使用 deveco-studio 创建 ShunHeHotel 项目2. 把ShunHeHotel 项目使用git进行版本控制3. 提交第1个commit,Alt0 → 输入commit message → 提交4. 查看已经提交的第一个提交5. gitcode 创建同名远程项…

微信小程序毕业设计-选课系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

杭州外贸网站建设 最好用wordpress模板来搭建

防护服wordpress外贸网站模板 消防服、防尘服、隔热服、防化服、防静电服、电焊服wordpress外贸网站模板。 https://www.jianzhanpress.com/?p4116 工业品wordpress外贸网站模板 机械及行业设备、五金工具、安全防护、包装、钢铁、纺织皮革等工业品wordpress外贸网站模板。…

家庭主妇人格独立问题,不断成长自己,保持人格独立

86天 周六反省 家庭主妇人格独立问题; 深刻反省自己,成长、改变自己;身体有毛病就去治疗,心上有问题就去改正;多年形成的习惯需要下功夫填坑 无论在哪个时刻我们都应该成长自己、人格独立,和爱人一起成长…

卷积神经网络【CNN】--池化层的原理详细解读

池化层(Pooling Layer)是卷积神经网络(CNN)中的一个关键组件,主要用于减少特征图(feature maps)的维度,同时保留重要的特征信息。 一、池化层的含义 池化层在卷积神经网络中扮演着降…

mac如何合并pdf文件到一个文件 macpdf合并 Mac如何合并pdf文件

在数字化的今天,pdf文件因其跨平台、格式统一等优势,已经成为工作、学习和生活中不可或缺的文件格式。然而,当我们需要合并多个pdf文件时,可能会感到有些无从下手。本文将为你详细介绍几种简单实用的合并pdf的方法,让你…

使用Tailwind CSS实现响应式面板

本文由ScriptEcho平台提供技术支持 项目地址:传送门 代码应用场景 此代码旨在用作 Web 应用程序或软件平台的仪表板界面。它提供结构化布局,包含多个部分,用于显示关键统计数据、最近活动和用户管理功能。仪表板旨在提供基本数据的全面概述…

第十四届蓝桥杯省赛C++B组H题【整数删除】题解(AC)

题目大意 依次删除长度为 n n n 的数组中的 k k k 个最小值,在删除一个数后,该数的相邻数加上它的值,输出最终数组。 解题思路 数组中删除一个数的复杂度为 O ( n ) O(n) O(n),故我们可以考虑用链表进行维护,这样…

3112. 访问消失节点的最少时间 Medium

给你一个二维数组 edges 表示一个 n 个点的无向图,其中 edges[i] [ui, vi, lengthi] 表示节点 ui 和节点 vi 之间有一条需要 lengthi 单位时间通过的无向边。 同时给你一个数组 disappear ,其中 disappear[i] 表示节点 i 从图中消失的时间点&#xff0…

【hadoop大数据集群 2】

【hadoop大数据集群 2】 文章目录 【hadoop大数据集群 2】1. 虚拟机克隆2. 时间同步3. 环境变量配置、启动集群、关闭集群 1. 虚拟机克隆 克隆之后一定要重新生成新虚拟机唯一的MAC地址和UUID等,确保新虚拟机与源虚拟机在网络拓扑中不发生冲突。 注意1.生成新的MA…

【C++】C++设计远程桌面软件的技术详解

在当今的数字化时代,远程桌面技术已成为企业远程办公、技术支持、教育培训等领域不可或缺的一部分。它允许用户从任何地点通过互联网安全地访问和控制远程计算机,就像直接坐在那台计算机前一样。C作为一种高效、灵活且性能强大的编程语言,非常…

C++ 继承详解:从基础到深入

继承是面向对象编程中最强大的功能之一,它不仅促进了代码的重用,还帮助我们构建复杂的系统。在C中,通过继承,我们可以创建一个新的类(称为派生类)来扩展现有类(基类)的功能。本文将全…

复学数据结构

1.for循环 c中的for循环和js的for循环用法一样 for (初始化表达式; 条件表达式; 递增/递减表达式) {// 循环体 } 2.数组 1)时间复杂度 算法 平均情况 最坏情况 访问 O(1) O(1) 搜索 O(n) O(n) 插入 O(n) O(n) 删除 O(n) O(n) 2)C 将高维维数组存…

10个常见的电缆载流表,值得收藏!

众所周知,电线电缆的载流是所有电工、电气人员都必须具备的基本储备,但是如果要将那么多的“数字”都记得清清楚楚,还是有一点困难的!今天咱们就做了一个电力电缆载流量对照表,速度收藏!下次参考不迷路! 1、0.6/1KV聚氯乙烯绝缘电力电缆载流量 以上电缆载流量计算条件:…

一个小问题导致,AI大模型集体翻车?

9.11大还是9.9大? 这两天大家都在说ChatGPT大模型翻车了 ! 这到底是怎么个事儿呢? 原来是最近有人想ChatGPT等大模型提了一个简单的问题: 9.11 大还是 9.9 大? 答案显而易见,然而众多大模型却给出了错误…

AI小白也能驾驭!10款免费工具让你秒变高手

市面上的AI工具种类繁多,覆盖了从创意设计到日常工作处理的各个领域。下面列出了10款实用的AI工具,它们能帮你在不同场景下提升效率,解决实际问题: Aicbo:这个在线生成工具可以根据你提供的描述生成图像,适…

鸿蒙开发error: failed to start ability

鸿蒙开发项目编译过后不能启动 项目在模拟器运行报: error: failed to start ability. Error while Launching ability 解决办法: 1,看了一些文章说是把module.json5配置文件中的"exported"由false改成true,没有解…

JavaScript基础 第五弹 学习笔记

一、什么是对象? 对象:JavaScript里的一种数据类型;可以理解为是一种无序的数据集合,但是数据是有序的数据集合。可以详细的描述某个事物 二、对象使用 1.对象声明语法 let 对象名 { } ;let 对象名 new Object() le…