首页 > 其他分享 >抓包工具分析

抓包工具分析

时间:2024-08-19 20:06:38浏览次数:12  
标签:分析 捕获 网卡 过滤 过滤器 工具 数据包 抓包 wireshark

一、网络抓包工具分析

网络抓包是网络分析和故障排查中的一个重要技术,而Wireshark是最常用的网络抓包工具之一。下面我将介绍一下网络抓包的基本概念以及Wireshark的作用。


网络抓包概念

1. 什么是网络抓包?

网络抓包是指通过捕获和分析网络上流动的数据包来监控、诊断和优化网络的过程。网络数据包是网络通信的基本单位,每个数据包包含了从源到目的地的所有通信信息。


2. 为什么要进行网络抓包?

故障排查:识别和解决网络问题,如连接中断、延迟或数据丢失。
性能优化:分析网络性能,找到瓶颈并进行优化。
安全分析:检测恶意活动或数据泄露,增强网络安全。
协议分析:了解和验证网络协议的行为。


3. 数据包的基本组成

头部:包含关于数据包来源、目的地、协议类型等信息。
有效载荷:实际传输的数据内容。


Wireshark概述

1. 什么是Wireshark?

Wireshark是一款开源的网络协议分析工具,用于捕获和分析网络流量。它允许用户查看网络中传输的每一个数据包的详细信息,支持多种网络协议的解码和分析。


2. Wireshark的主要功能

实时捕获:可以在网络中实时捕获数据包。
数据包分析:提供对数据包的详细分析,包括协议层次、字段信息等。
过滤和搜索:允许用户设置复杂的过滤器来仅查看感兴趣的数据包。
可视化:提供多种图表和统计信息来帮助理解网络流量。
导出和保存:可以将捕获的数据导出为多种格式,方便后续分析和分享。


3. 使用Wireshark的基本步骤

启动Wireshark:打开应用程序并选择要监控的网络接口。
开始捕获:点击“开始捕获”按钮,Wireshark将开始记录网络流量。
分析数据包:观察数据包列表,使用过滤器来查找特定的数据包。
查看详细信息:点击某个数据包查看其详细内容和协议层级。
保存和导出:将捕获的数据保存到文件中以便后续分析或分享。


4. 实践建议

熟悉过滤器:Wireshark的过滤器功能非常强大,学会使用过滤器可以更高效地定位问题。
注意隐私和法律:捕获和分析网络流量时需确保符合隐私法规和法律要求,避免未经授权的网络监控。


二、安装

windows:
https://www.wireshark.org/
linux版本:终端输入
sudo apt install wireshark

安装完成之后界面:
image


tips:在linux下面的Ubuntu中,在ubuntu中启动时,由于wireshark需要管理员才能抓取网口数据,因此需要使用 sudo 在命令行终端启动,输入:
gec@ubuntu:~$ sudo wireshark


1.基本使用步骤

初次使用 wireshark 都会感觉其功能强大,界面复杂,学习门槛高,但如果仅限于使用其来抓取对应网卡数据包,用于学习、验证各种不同网络协议通过真实物理设备时的数据封装形式,则其应用并不困难。总体而言,只需掌握如下几点便可:

1.选择正确的监控网络接口
2.编写正确的捕获、显示过滤器
3.认识如何查看数据包,尤其是通信协议的内容


一)网络接口的选取

在wireshark的起始界面,首先要选择需要监控的网卡:
image


假设在A同学的虚拟机ubuntu-1中运行一个网络通信测试用例,在另一位B同学的虚拟机ubuntu-2中运行对端网络通信测试用例,那么它们之间的网络数据必然会通过物理机中的真实网卡,那么只需在windows版本的wireshark中监控某个网卡即可。具体而言:

  • 如果虚拟机是桥接模式,那么就监控虚拟机所桥接的网卡
  • 如果虚拟机是NAT模式,那么就监控VMnet8
    如果是某同学自己的同一台虚拟机ubuntu中,启动了两个网络通信测试用例,那么这些网络数据将不会通过任何物理真实网卡,甚至也不会通过任何虚拟网卡,而仅仅通过虚拟机ubuntu中的本地回环设备 lo 进行传递,因此这种情况下如果想要抓包分析,那么一般需要安装ubuntu的wireshark,并且使之监控ubuntu中的 lo 网卡。

二)筛选表达式的编写

如下图所示,在指定某个监控网卡之后,如果该网卡处于活跃状态,一般会发现从网卡通过的数据包会非常多,使得目标数据包难以被发现,因此一般需要编写 过滤器表达式 来捕获符合条件的数据包。
image


wireshark支持两种过滤器,一是捕获过滤器,一是显示过滤器,顾名思义,捕获过滤器在过滤之前就做出筛选,直接无视不符合要求的数据包,这样能节约大量磁盘空间资源,而显示过滤器则是在捕获了的数据包的基础上,再对显示列表做进一步筛选,这两种过滤器的位置如下图所示:
wireshark两种常用过滤器
image


示例1:
设置捕获过滤器,使之只捕获TCP协议且端口号包含50001(即源端端口或目的端端口)的数据包:

tcp port 50001

设置捕获过滤器
image


示例2:
设置显示过滤器,使之只显示TCP协议且端口号包含50001(即远端端口或目的端端口)的数据包

tcp.port == 50001

wireshark显示过滤器
image


一条基本的过滤器表达式由过滤项、过滤关系和过滤值构成,比如 ip.addr == 192.168.1.100 这个表达式中:

  • ip.addr 是过滤项
  • == 是过滤关系
  • 192.168.1.100 是过滤值
    整个表达式的意思是:找出所有IP协议中源主机或目标主机的IP地址等于192.168.1.100的数据包。

过滤项:
过滤项一般的构成是由 协议.协议字段 构成。

  • 协议
  • eth
  • ip
  • tcp
  • udp
  • snmp
  • icmp
  • ftp
  • http
  • telnet
  • oicq
  • 字段(该协议下的关键属性)
  • addr
  • port
  • dstport
  • payload
  • ack
    因此他们的组合可以是:
    tcp.port == 50001
    udp.dstport >= 1024
    oicq.qqid == 2437231462

过滤关系:
过滤关系就是大于、小于、等于这些逻辑关系,在显示过滤器中有两种写法,一种是英文模式,一种是代码模式,比如过滤端口为50001的写法可以是以下两种写法之一:

tcp.port == 50001
tcp.port eq 50001
具体的写法可以参考官方给定的下图:
image


过滤值:

过滤值就是设定的过滤项应该满足的标准,一些具体的数值。
wireshark其他更深入的教程,有兴趣的话可以参考官方手册:
https://www.wireshark.org/docs/wsug_html/#DispCompOps

标签:分析,捕获,网卡,过滤,过滤器,工具,数据包,抓包,wireshark
From: https://www.cnblogs.com/hhail08/p/18368010

相关文章

  • Node-RED开源流程网络工具
    文章目录Node-RED开源流程网络工具Node-RED介绍特点和设计理念Node-RDE安装Windows安装Docker安装基础功能示列HTTP发送请求MQTT-示列TCP-示列MQTT-Modbus示列Node-RED综合示列示列Node-RED开源流程网络工具Node-RED介绍Node-RED是一个基于Node.js的开源流程......
  • WEB渗透免杀篇-免杀工具全集
     往期文章 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客WEB渗透免杀篇-Powershell免杀-CSDN博客WEB渗透免杀篇-Python源码免杀-CSDN博客WEB渗透免杀篇-C#源码免杀-CSDN博客WEB渗透免杀篇-MSF+shellcode免杀-CSDN博客WEB渗透免杀篇-Bypass-AMS......
  • 【Mac】iTerm for mac(终端工具)软件介绍及安装教程
    软件介绍iTerm是macOS上一个非常受欢迎的终端仿真器,提供了比默认的Terminal应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。主要特点和功能:分页和标签:iTerm允许用户在单个窗口中使用多个标签页和分页。这使得在多个终端会话之......
  • 《黑神话:悟空》Wegame版提示缺少DirectX工具怎么解决?黑神话悟空游戏启动时弹窗“缺少D
    在《黑神话:悟空》的Wegame版本中,一些玩家会遇到提示缺少DirectX工具的情况。别担心,修复方法并不复杂。首先检查系统是否已安装最新版本的DirectX,若没有,可从官方渠道下载并安装,一般能有效解决此问题。本篇将为大家带来《黑神话:悟空》Wegame版提示缺少DirectX工具修复方法的内容,......
  • 【Redis分析】(一) 主从同步
    主从复制-数据备份,读写分离,手动高可用负载均衡:主结点只负责处理写请求,从节点负责读请求;主从复制,主机挂了,我们可以手动切换从机,还可以搭配哨兵实现自动切换,实现高可用;需要注意的是,在主从模式下,假设进行同步的过程中主节点宕机了,那么从节点此时还......
  • 谷歌chrome浏览器network中Stalled分析和优化
    https://www.cnblogs.com/yurui321/p/14890108.htmlhttps://blog.csdn.net/zeroJustGG/article/details/90639844?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Ctr-2-90639844-blog-79726408.235^v43^pc_blog_bottom......
  • 算法与数据结构——复杂度分析
    复杂度分析算法效率评估在算法设计中,我们追求以下两个层面的目标。找到问题解法:算法需要再规定的输入范围内可靠地求得问题的正确解寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。也就是说,在能够解决问题的前提下,算法效率已经成为衡量算法优劣的主......
  • Java中的可达性分析算法图解,以及哪些对象可以作为GCRoots
    可达性分析算法图示:解释:因为在GCRoots中存在对于对象A的引用,而A又持有对对象B和对象C的引用,所以这一串都是有用的引用链,需要保留。对于对象D和对象E,他们只是相互进行引用,并没有和GCRoots中的对象有任何的关联,所以可以安全的回收。哪些对象可以作为GCRoots虚拟机栈(栈帧中的......
  • MySQL中处理JSON数据:大数据分析的新方向
    1.简介1.1.概述在MySQL中处理JSON数据的能力是在MySQL5.7版本中引入的,并在后续的版本中不断得到增强。这使得MySQL能够直接操作和查询JSON格式的数据,极大地扩展了其处理复杂数据结构的能力。1.2.主要特点灵活性与可扩展性:JSON允许开发者存储不规则和嵌套的数据结......
  • RTL9220固件分享,RTL9220硬盘盒固件升级工具下载
    RTL9220是瑞昱半导体(Realtek)推出的88针脚10mm×10mmQFN封装的单芯片,内建ARGB控制器,提供USB3.2Gen2×2(20Gbps)接口,支持双口PCIe3.0×4lanesNVMe1.3或SATAGen3(6Gbps)固态硬盘。在USB转SATA模式下,RTL9220支持SATAGen3规格,为每个端口提供6Gbps的带宽且具有与SATAGen2/Gen1......