使用Wireshark进行网络流量分析

目录

Wireshark是什么?

数据包筛选

筛选指定ip

使用逻辑运算符筛选

 HTTP模式过滤

端口筛选

协议筛选

包长度筛选

数据包搜索

数据流分析

数据包导出


Wireshark是什么?

通过Wireshark,我们可以捕获和分析网络数据包,查看网络中的数据传输情况,识别网络中的问题和安全隐患,并进行网络性能优化。

Wireshark支持多种协议的分析,包括TCP、UDP、IP、ICMP等,可以帮助我们深入了解网络通信过程中的细节。

它还提供了强大的过滤功能,可以根据需要筛选出特定的数据包进行分析,帮助我们更快地定位问题所在。

除了基本的数据包捕获和分析功能外,Wireshark还提供了统计信息和图形化分析工具,可以帮助我们更直观地了解网络流量的情况。

它还支持多平台,可以在Windows、Mac和Linux等操作系统上运行。

总的来说,Wireshark是一款功能强大、易于使用的网络流量包分析工具,可以帮助网络管理员、安全专家和开发人员更好地理解和监控网络流量,保障网络的安全和稳定运行。

 如果电脑上还没有这款强大的软件可以自行到官网下载:Wireshark · Go Deep

那么我下面就来简单演示一下使用Wireshark来分析网络流量包

数据包筛选

筛选指定ip

流量过滤中可以使用过滤可疑IP或排除一些无用信息,减少无关流量包的干扰,更直接定位目标。

筛选特定IP,过滤出所有与192.168.43.21相关的流量

语法:ip.addr==192.168.43.21

可以看到通过这种方法筛选出的ip都是源端口或者目标端口是192.168.43.21的

那如果现在想要筛选出源端口是192.168.43.21的流量包呢,可以使用下面的形式

语法:ip.src == 192.168.43.21

可以看到现在筛选出的流量包都是以192.168.43.21为源ip的,那么如果想要筛选出目标端口为指定ip地址的也就和上面的形式很像的将src修改为dst即可

使用逻辑运算符筛选

在实际应用中我们可以会同时需要筛选很多ip,并且对具体的情况有一些要求,则可以使用逻辑运算符来配合使用,增加筛选的灵活性

Wireshark可以使用一下几种逻辑运算符:

&& || !=

相信学过其他程序语言的童鞋都知道这三个运算符的含义吧,但是这里还是介绍一下&&就是需要同时满足左右两边的表达式时才为真,而||则是满足作用两边任意一个表达式即为真,!=的意思就是原表达式为真则变假,为假则为真,即“”非“”

下面就举三个小例子来演示一下这三种运算符

(1)要求筛选出原ip地址为192.168.43.21且目标地址为 20.210.85.71的流量包

(2)要求筛选出原ip地址为192.168.43.21或源地址为 20.210.85.71的流量包

(3)要求筛选出原ip地址不为192.168.43.21的流量包

 HTTP模式过滤

在web攻击流量分析中,http显得尤为重要,根据攻击特点过滤http流量能更准确定位攻击;如常见上传webshell使用POST请求、指定URI可疑发现一些上传路径或者后台等,另也可以从包含的一些关键特征判断使用的工具、木马、脚本等。

注:下面的所有包都是使用192.168.159.1访问192.168.159.202服务器的流量包

(1)http请求方式为GET语法:

http.request.method==”GET”

 我们使用本地浏览器访问192.168.159.202?id=1来模拟一个GET访问

(2)http请求方式为POST语法:

http.request.method==”POST”

 我们使用本地Firefox浏览器中的Hackbar插件,来模拟POST访问

(3)请求的URI为/login.php语法:

http.request.uri==”/login.php”

模拟这个访问也很简单直接在浏览器中输入: http://192.168.159.202/login.php

(4)请求的http中包含sqlmap的语法:

http contains “sqlmap”

这里我就模拟恶意用户使用sqlmap来对目标192.168.202进行扫描

(5)请求方式为GET且请求中包含UA信息:

http.request.method==”GET” && http contain “User-Agent”

MAC地址过滤

MAC地址就和ip地址一样是都是网络通信中使用的标识符,在Wireshark中筛选MAC地址与筛序ip地址的形式是差不多的

可以在cmd命令行中输入ipconfig/all来查看本机网卡所对应的mac地址

(1)查看目标MAC地址为00-50-56-C0-00-08的流量包

(2)查看源MAC地址为00-50-56-C0-00-08的流量包

端口筛选

可以通过指定筛选常见端口如445、1433、3306等可以定位相关特殊的服务。

(1)tcp.dstport == 80 筛选tcp协议的目标端口为80 的流量包

(2)tcp.srcport == 80 筛选tcp协议的源端口为80 的流量包

注:也可以将tcp该为udp就可以筛选使用udp传输的流量包

协议筛选

协议过滤可以根据相关服务使用的协议类型进行

tcp 筛选协议为tcp的流量包udp 筛选协议为udp的流量包arp/icmp/http/ftp/dns/ip 筛选协议为arp/icmp/http/ftp/dns/ip的流量包

这里就以icmp包为例:

我们使用本地192.168.159.1ping192.168.159.202来产生icmp流量包

包长度筛选

包长度、大小可以利用判断一些木马特征,扫描特征、ddos等

比如:

(1)udp.length ==35 筛选长度为35的udp流量包

(2)tcp.len >=20 筛选长度大于20的tcp流量包

(3)ip.len ==40 筛选长度为40的IP流量包

(4)frame.len ==80 筛选长度为80的整个流量包

数据包搜索

在wireshark界面按“Ctrl+F”,可以进行关键字搜索:

可以分别基于十六进制值、字符串、正则表达式进行搜索

搜索栏的左边下拉,有分组列表、分组详情、分组字节流三个选项,分别对应wireshark界面的三个部分,搜索时选择不同的选项以指定搜索区域:

数据流分析

使用wireshark进行威胁流量发现时候,除了判断包特征,访问日志,证书等,数据量是较为直观发现异常行为的方式,我们常会查看一些HTTP流、TCP流和UDP流进行流量分析。

这里我们就简单的记录一个完整的登录过程的抓包过程:

(1)开启Wireshark的流量监控

(2)我们登录dvwa网站

访问网站->输入正确密码->登录->登录成功

(3)现在我们对整个过程的流量包进行分析

可以使用login.php来筛选是否有登录动作:

 可以看到有登录的流量包

现在我们可以试着对该流量包进行追踪,查看更多信息

根据追踪的信息可以看到是登录成功的 

注:除了HTTP流,还可以追踪TCP流、UDP流、HTTPS流等,操作的方法是一样的

数据包导出

攻击流量中少不了恶意脚本,样本文件,这时能对样本提取是对威胁攻击的进一步分析十分重要。而使用wireshark就可以做到简单文件还原,当然如果你需要对批量文件还原,可能还需要一些自己研究的工具进行还原,下面演示一下wireshark怎么进行还原:

(1)文件-导出对象,这样可以选择导出的协议类型数据,选择http后会出现数据包所有的关于http协议的数据包;在所有http数据流中的文件,选中进行save进行

 

注:其他协议相关文件也一样。

(2)分组字节流还原

对于特定的字节流可以“右键-导出分组字节流”最后保存就ok了

到这里Wireshark的基本使用就演示完毕了,下一篇我们会使用Wireshark来分析CTF中的几简答流量分析的题目,实际应用一下下(^▽^)!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Maven】工程依赖下载失败错误解决

在使用 Maven 构建项目时,可能会发生依赖项下载错误的情况,主要原因有以下几种: 下载依赖时出现网络故障或仓库服务器宕机等原因,导致无法连接至 Maven 仓库,从而无法下载依赖。 依赖项的版本号或配置文件中的版本号错…

SPI

一、简介 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在 时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接 口可以是3线式或4线式。 MOSI(Master Output Slave Input) – 主设备输出/从设备输入信号;MISO(Master Input Slave Output) – 主…

经典卷积神经网络-ResNet

经典卷积神经网络-ResNet 一、背景介绍 残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在2015 年的ILSVRC(ImageNet Large Scale Visual Recognition Challenge)中取得了冠军。残差神经网络的主要贡献是发现了…

Nginx 反向代理负载均衡

Nginx 反向代理负载均衡 普通的负载均衡软件,如 LVS,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户;而反向代理就不一样了&#xf…

Android混淆那些事

前言 作为一个Android开发,大家或多或少都有一些关于混淆的了解(毕竟披个纱布也比裸奔要好的多吧)。混淆的概念虽然容易理解,但相信大多数开发可能还是在网上搜索通用配置后通过C-V大法接入到自己的项目中,这也使得混…

canvas绘制网格线示例

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

docker 部署教学版本

文章目录 一、docker使用场景及常用命令1)docker使用场景2)rocky8(centos8)安装 docker3)docker 常用命令补充常用命令 二、 单独部署每个镜像,部署spring 应用镜像推荐(2023-12-18)1、 安装使用 mysql1.1 …

高可用解决方案 Keepalived 概述

概述 Keepalived 介绍 Keepalived 是 Linux 下一个轻量级别的高可用解决方案,通过 **VRRP 协议(虚拟路由冗余协议)**来实现服务或者网络的高可用,可以利用其来解决单点故障。 起初是为 LVS 设计的,一个 LVS 服务会有 …

计算机毕业论文内容参考|基于智能搜索引擎的图书管理系统的设计与实现

文章目录 摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望摘要 本文介绍了基于智能搜索引擎的图书管理系统的设计与实现。该系统旨在提供一个高效、智能化的图书管理平台,帮助用户更快、更准确地找到所需的图书资…

2024年PMP报考需要什么条件?怎么报名?

一、PMP是什么 PMP 是项目管理的入门级证书,全称是项目管理专业人士资格认证,由美国项目管理协会(PMI)举办的,受到全球200多个国家的认可,从1999 年到现在已经有20多年发展历史了。 顾名思义,…

【大数据面试知识点】分区器Partitioner:HashPartitioner、RangePartitioner

Spark HashParitioner的弊端是什么? HashPartitioner分区的原理很简单,对于给定的key,计算其hashCode,并除于分区的个数取余,如果余数小于0,则用余数分区的个数,最后返回的值就是这个key所属的…

阶段十-分布式-nginx服务器

一、Nginx简介 Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。tomcat并发数量理论值是500,实际也就300左右。 1.2 正向代理 正向代理代理的是客户…

世微 DW01 4.2V锂电池保护电路芯片 专业电源管理芯片

一、 描述 DW01A 是一个锂电池保护电路,为避免锂电池因过充电、过放电、电流过大导致电池寿命缩短或电池被损坏而设计的。它具有高精确度的电压检测与时间延迟电路。 二、 主要特点 工作电流低; 过充检测 4.3V,过充释放 4.05V; 过…

缅怀一代传奇!TVP创始委员陈皓与他的《左耳听风:传奇程序员练级攻略》

引言 中文技术圈时常被一种浮躁所困扰。互联网企业历经跑马圈地的红利期后,开始在精细化运营的路上艰难求索;圈子里的程序员们,也被日益放缓的业务需求和不断内卷的行业态势所影响,职业困境、年龄危机成了老生常谈的话题。 成长往…

three.js 多通道组合

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div style"border: 1px so…

AI大模型引领未来智慧科研暨ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

C语言中关于while语句的理解以及getchar和putchar

while是一个循环语句&#xff0c;关于while的一些理解可以看下面这串代码 #include <stdio.h> int main() {int i 0;scanf("%d", &i);printf("输入十以内的数字&#xff0c;从输入的数字开始一直数到十&#xff1a;");while (i<10){printf(…

php ext-sodium 拓展安装 linux+windows

php编译安装(linux)&#xff0c;可以参考&#xff1a;php编译安装 一、windows soduim源码包自带&#xff0c;直接修改php.ini&#xff0c;取消extensionsodium注释即可 二、linux 1.安装依赖 apt-get install libsodium-dev2.进入源码目录 这里写自己的源码目录 cd /us…

6种版本的并查集(java实现版)

目录 引入 并查集的具体讲解及代码实现 Quick Find Quick Union 基于size的优化 代码实现 基于rank的优化 代码实现 路径压缩 代码实现 更多关于路径压缩的并查集 引入 由孩子指向父亲的这种特殊的树结构可以很高效的处理连接问题&#xff0c;在一个复杂的图中&…

音视频技术开发周刊 | 326

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 全球最强「开源版Gemini」诞生&#xff01;全能多模态模型Emu2登热榜&#xff0c;多项任务刷新SOTA 最强的全能多模态模型来了&#xff01;就在近日&#xff0c;智源研究院…