关于基础的流量分析(1)

1.对于流量分析基本认识

1)简介:网络流量分析是指捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议、流量分析、统计等来发现网络运行过程中出现的问题


2)在我们平时的考核和CTF比赛中,基本每次都有流量分析这类题,对于流量包的分析取证也是一种十分重要的题型。通常这类题目正常 都是会提供一个包含流量数据的pcap文件,要我们从里面通过该文件筛选和过滤其中无关的流量信息,再根据关键流量信息找出flag或者相关线索。

对于我个人来说,前面作做这一类题只能简单的靠眼睛再加一点简单的过滤手法,最终找到flag也是相当的困难,还有很多关于whireshark使用方法没有学会,再者还有比较熟练的直接用脚本跑,所以 我打算再找找它其他的一些用法。


3)pcap流量包的分析通常都是通过图形化的网络嗅探器——wireshark进行的,这款嗅探器经过众多开发使用者的不断完善,现在已经成为使用最为广泛的安全工具之一。当然也是我做这类题最常用的工具之一了。

2.wireshark的基本使用

1)主界面简介

打开wireshark后,第一次进需要选择Capture,然后是interface,再下拉主菜单会出现两个对话框,里面会列出捕获数据需要使用的各种设备以及ip地址,选择需要使用的设备,点击start,之后就会把数据捕获并显示再框内,到后面就可以直接用whireshark工具打开pcap文件,它就会自动捕获流量包了

就像下面这样

一般选择本地出网的网卡,就能捕获本地的数据包了,如下:

2)快捷键和过滤手法

在我们分析数据时,会用到一些常用快捷键:

ctrl+m            标记数据包

ctrl+shift+N    跳到标记处

还有一些基于协议的过滤手法

补充点稍微详细点的

      一般情况在使用Wireshark分析capture.pcapng数据包文件时,这些数据中都会有非常多的ICMP报文,这报文中有大量的非正常ICMP报文,找出类型为重定向的所有报文,就会让我们将“报文重定向的数量”作FIag 值提交。       flag格式:flag{重定向数量}

过滤手法:icmp.typeeq5

知识点

       每一个包都是通过数据链路层DLC 协议,IP协议和ICMP 协议共三层协议的封装。

       DLC 协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请求正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈

报文类型可归纳如下:

诊断报文(类型:8,代码0;类型:0代码:0);

目的不可达报文(类型:3,代码0—15);

重定向报文(类型:5,代码:0—4);超时报文(类型:11,代码:0—1);

信息报文(类型:12—18)。

然后是一些基于协议衍生出来的过滤手法,这里举一些http协议的

识别数据包数量
Wireshark自带功能会统计当前数据包的数量,过滤后根据过滤语句过滤后的数据包,统计数据包数
过滤语法;http:response.code==404

追踪流手法
追踪流手法是在我们平时考核比赛中,进行流量分析非常好用方法,它可以具体显示一个数据包的内容以及传输数据,简单的使用如下

比如下面这里追踪 MYSQL的传输流量,我们可以更清楚的看到 Hacker在攻击 MYSQL数据库时的路径

3)常用筛选命令方法

根据IP地址进行筛选

命令汇总
addr=192.168.1.122∥/根据IP地址筛选,包括源ip或者目的IP

p.src==192.168.1.122∥根据源IP地址筛选

dst==192.168.1.122∥/根据目的IP地址筛选


a.根据IP地址进行筛选

使用命令:ip.addr=10.255.0

命令大意:筛选出IP地址是10.255.0.1的数据包,包括源IP地址或者目的IP地址使用的是10.255.0.1的全部数据包。

b.根据源IP地址筛选
使用命令:ip.src==10.255.0.1

命令大意:筛选出源lP地址是10.255.0.1的数据包

c.根据目的P地址筛选
使用命令:ip.dst==10.255.0.1

命令解说:筛选出目的地址是10.255.0.1的数据包。
 

根据MAC地址进行筛选

命令汇总

eth addr==20. dc e6. f3: 78:: cc

eth. src==20: dc.e6. f3: 78: cc

eth. dst==20; dc. e6: f3: 78. cc

1.根据MAC地址进行筛选
使用命令: eth addr==20:dc:e6:f3:78:cc
命令解说:筛选出MAC地址是20:dc:e6:f3:78:CC的数据包,包括源MAC地址或者目的MAC地址使用的是20:dc:e6:f3:78:cc的全部数据包。

2根据源MAC地址筛选
使用命令:eth.src=20:dc:e6:f3:78:cc

命令解说:筛选出源MAC地址是20:dc:e6:f3:78:CC的数据包

3根据目的MAC地址筛选
使用命令: eth. dst==20:dc:e6:f3:78:cc

命令解说:筛选出目的MAC地址是20:dc:e6:f3:78:cC的数据包

题目实操

1.用whireshark打开题目附件,一个pcnpng文件

这里用http过滤一下,找到一个zip文件,有点与众不同

把它导出去再做观察

导出后解压,是六个txt文件,打开后全是md5值,猜测它应该并在一起是个什么东西,

这里解码一个文件发现它是一个二维码的一部分

那就把它合在一起,再次解码

解码得到flag值

flag{3819169573b7a37786d2ea39c6daef76}

2.

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

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

相关文章

MySQL用户管理操作

用户权限管理操作 DCL语句 一.用户管理操作 MySQL软件内部完整的用户格式: 用户名客户端地址 admin1.1.1.1这个用户只能从1.1.1.1的客服端来连接服务器 admin1.1.1.2这个用户只能从1.1.1.2的客服端来连接服务器 rootlocal host这个用户只能从服务器本地进行连…

ACM实训

【碎碎念】继续搞习题学习,今天完成第四套的ABCD,为下一周挤出时间复习,加油 Digit Counting 问题 法希姆喜欢解决数学问题。但有时解决所有的数学问题对他来说是一个挑战。所以有时候他会为了解决数学难题而生气。他拿起一支粉笔&#xff…

Java面试八股之进程和线程的区别

Java进程和线程的区别 定义与作用: 进程:在操作系统中,进程是程序执行的一个实例,是资源分配的最小单位。每个进程都拥有独立的内存空间,包括代码段、数据段、堆空间和栈空间,以及操作系统分配的其他资源…

工厂模式(简单工厂模式+工厂模式)

工厂模式的目的就是将对象的创建过程隐藏起来,从而达到很高的灵活性,工厂模式分为三类: 简单工厂模式工厂方法模式抽象工厂模式 在没有工厂模式的时候就是,客户需要一辆马车,需要客户亲自去创建一辆马车,…

经验分享:C++ error:‘syscall’ was not declared in this scope

明明已经加了头文件 #include <sys/syscall.h>#define gettid() syscall(__NR_gettid)但是依旧不能使用 syscall() 函数&#xff0c; 检查源码后&#xff1a; sys/syscall.h 内部表示&#xff0c;他封装了 打开对应的 syscall.h 文件内部依旧没有 syscall()函数的声明…

使用docker+jenkins构建前端项目发布到nginx

1.准备环境 为了方便公司开发优化代码&#xff0c;不需要反复地将项目包发送给运维部署&#xff0c;我们对开发环境的前端项目利用jenkinsCI/CD进行自动化部署 需要两台服务器 一台jenkins 一台发布服务器,这里发布服务器 我直接使用开发环境的服务器 将admin界面与云计算展示…

全栈实现发送验证码注册账号 全栈开发之路——全栈篇(3)

全栈开发一条龙——前端篇 第一篇&#xff1a;框架确定、ide设置与项目创建 第二篇&#xff1a;介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇&#xff1a;setup语法&#xff0c;设置响应式数据。 第四篇&#xff1a;数据绑定、计算属性和watch监视 第五篇 : 组件…

基于JAVA的Dubbo 实现的各种限流算法

在基于 Java 的 Dubbo 实现中&#xff0c;限流&#xff08;Rate Limiting&#xff09;同样是一个关键的需求。Dubbo 是阿里巴巴开源的一款高性能 Java RPC 框架&#xff0c;广泛应用于分布式服务架构中。实现限流可以帮助服务在高并发场景下保持稳定性和可靠性。以下是几种常见…

Linux进程调度与切换、环境变量

文章目录 Linux优先级Linux的调度与切换**进程切换**&#xff1a;**进程调度**&#xff1a;优先级活动队列过期队列active指针和expired指针 环境变量main函数参数 int main(int argc, char *argv[], char *envp[]) 环境变量环境变量和本地变量echo查看单个环境变量的方法expor…

蓝牙模块在无人机 ID识别、标准制定发挥的作用及其应用优势和面临的挑战

随着科技的飞速发展&#xff0c;无人机已经广泛应用于航拍、农业、救援、物流等多个领域。而在无人机的通信与控制系统中&#xff0c;蓝牙模块扮演着重要的角色。本文将探讨蓝牙模块在无人机Remote ID识别和标准制定执行中发挥的作用&#xff0c;并分析其应用优势和面临的挑战。…

Java读取串口及端口调试

本篇主要讲述使用Java对串口进行读取和发送操作 准备 在项目中导入第三方Jar包 Jar包已经在资源中绑定&#xff0c;或者去官网上自行下载jSerialComm 注意当前jar包是配合JDK1.8环境使用&#xff0c;如果是1.8以下程序将直接中断 安装虚拟串口的软件 Configure Virtual Seri…

一款功能强大的安卓虚拟机应用——VMOS Pro使用分享

前段时间我刚刚分享一个WeChat平板模块能够允许用户自由修改系统设置&#xff0c;让你的Android备用手机焕发新生&#xff0c;实现手机PAD化&#xff0c;实现两台设备同时登录微信号。今天我分享的这个相比WeChat更为简单&#xff0c;因为它可以通过虚拟机的方式进行多种androi…

分类和品牌关联

文章目录 1.数据库表设计1.多表关联设计2.创建表 2.使用renren-generator生成CRUD1.基本配置检查1.generator.properties2.application.yml 2.生成代码1.进入localhost:81生成代码2.将main目录覆盖sunliving-commodity模块的main目录 3.代码检查1.注释掉CategoryBrandRelationC…

JavaWeb基础(HTML,CSS,JS)

这些知识用了三四天左右学完&#xff0c;因为是JavaWeb&#xff0c;并不是前端&#xff0c;所以只是够用&#xff0c;不是深入&#xff0c;但是这确实是学校一个学期交的东西&#xff08;JavaWeb课程&#xff09;。 总结一下网页分为三部分&#xff1a;HTML(内容结构),CSS&…

MySql--SQL语言

目录 SQl---DDL 结构定义 创建、删除 数据库 代码 运行 设计表 数据类型 整数 浮点数 主键 约束 主键自增长 默认值 字段注释 创建、删除 表 代码 运行 代码 代码 运行 SQL---DML 数据操纵 插入数据 代码 运行 代码 运行 代码 运行 代码 …

【实战教程】使用Spring AOP和自定义注解监控接口调用

一、背景 随着项目的长期运行和迭代&#xff0c;积累的功能日益繁多&#xff0c;但并非所有功能都能得到用户的频繁使用或实际上根本无人问津。 为了提高系统性能和代码质量&#xff0c;我们往往需要对那些不常用的功能进行下线处理。 那么&#xff0c;该下线哪些功能呢&…

docker部署kafka实战

目录 一、部署kafaka、zookeeper 二、测试信息发送与接收 三、kafka进阶 一、部署kafaka、zookeeper 请提前安装docker、docker-compose 安装docker&#xff1a;docker--安装docker-ce-CSDN博客 安装docker-compose&#xff1a; 安装docker-compose_安装 docker-compose-CSD…

云下到云上,丽迅物流如何实现数据库降本50% | OceanBase案例

在2024年3月20日的首场OceanBase数据库城市行活动中&#xff0c;专注于物流及供应链解决方案的丽迅物流的架构师阳磊&#xff0c;围绕“OB Cloud在丽迅物流的实践”这一主题&#xff0c;进行了精彩的演讲。本文为此次演讲的内容回顾。 在丽迅物流&#xff08;Lesoon Logistics…

9.1 Go语言入门(环境篇)

Go语言入门&#xff08;环境篇&#xff09; 目录一、什么是Go语言二、下载安装配置Go语言开发环境1. 下载2. 安装3. 配置环境变量4. 安装环境验证 三、 开发工具1. 下载2. 安装3. 激活4. 配置SDK 四、 创建go工程文件并运行1. 创建go工程2. 示例代码3. 运行代码 目录 一、什么…

软件开源协议与QT的开源协议介绍

一.常见的六种开源协议 1.BSD协议 BSD协议全称为“Berkely Software Distribution”&#xff0c;中文译为“伯克利软件发行版”。其最早用于伯克利UNIX操作系统上的开源贡献。 主要特点&#xff1a; 允许修改源码 允许源码再发布 允许商业软件发布和销售 约束&#xff1…