OSCP 渗透测试:网络抓包工具的使用指南
在 OSCP 考试和渗透测试中,网络数据分析是至关重要的技能。无论是嗅探明文密码、分析恶意流量,还是溯源攻击,抓包工具都是我们的得力助手。
本文将介绍 OSI 七层网络模型 及其在网络分析中的作用,并详细讲解 Wireshark 和 tcpdump 这两款常见的抓包工具,帮助你在渗透测试中高效分析流量数据。
一、OSI 七层模型
All People Seem To Need Data Processing!
OSI(Open Systems Interconnection)七层模型是计算机网络的标准框架,每一层都承担不同的功能。在分析网络流量时,理解这个模型可以帮助我们更快地定位问题、识别漏洞。
层级 | 功能 | 示例协议/技术 | 作用 |
---|---|---|---|
应用层(Application) | 处理应用程序请求 | HTTP、SMTP、FTP、DNS | 处理用户数据 |
表示层(Presentation) | 数据格式转换 | WMV、JPEG、TLS/SSL | 数据加密、解码 |
会话层(Session) | 管理会话连接 | NetBIOS、RPC | 维持主机间通信 |
传输层(Transport) | 可靠/无连接传输 | TCP、UDP | 传输数据流 |
网络层(Network) | IP 地址、路由 | IPv4、IPv6、ICMP | 逻辑寻址、路由转发 |
数据链路层(Data Link) | MAC 地址、交换 | 以太网、PPP、ARP | 处理物理地址 |
物理层(Physical) | 传输比特流 | 光纤、网线、Wi-Fi | 传输电信号、无线信号 |
📌 分析网络流量时,关注重点:
- 应用层(Application):寻找 HTTP 请求、DNS 查询、SMTP 邮件通信。
- 传输层(Transport):分析 TCP 端口扫描、UDP 数据包。
- 网络层(Network):查看 IP 地址,识别攻击来源。
- 数据链路层(Data Link):过滤 MAC 地址,溯源攻击设备。
二、Wireshark:图形化抓包分析工具
Wireshark 是一款强大的 GUI(图形界面)网络协议分析工具,支持实时抓包和回溯分析。它可以解析几乎所有常见的协议,并且能够直观地展示网络流量数据。
1. 追踪 TCP/UDP 流量
在分析网络流量时,我们通常需要关注特定的 TCP/UDP 连接。Wireshark 提供了“Follow Stream”功能,可以直观地查看完整的会话数据。
🔹 步骤:
- 在 Wireshark 里打开
.pcap
抓包文件(或者直接在网络接口上实时抓包)。 - 右键点击感兴趣的数据包,选择 “Follow TCP Stream” 或 “Follow UDP Stream”。
- 这样就能看到完整的 TCP/UDP 会话数据,比如明文 HTTP 请求、Telnet/FTP 传输的密码等。
2. Wireshark 数据包结构解析
在 Wireshark 里,每个网络数据包都可以分为多个协议层级,每一层都承载着不同的信息。
📌 数据包结构分解(从底层到高层)
(1)Frame - 物理层
- 物理层数据,包括帧编号和接收的数据大小(字节数)。
- 主要用于分析数据包的完整性和丢失情况。
(2)Ethernet II - 数据链路层
- 这里可以看到 MAC 地址信息:
- 源 MAC 地址(Source MAC)
- 目的 MAC 地址(Destination MAC)
- 还可以查看传输介质类型,如以太网(Ethernet)。
(3)IPv4 / IPv6 - 网络层
- 主要关注IP 地址:
- 源 IP(Source IP):谁发出的数据?
- 目标 IP(Destination IP):数据发往哪里?
- 这层数据对溯源攻击、找出目标服务器的真实 IP 很有用。
(4)TCP/UDP - 传输层
- 关注端口号和会话状态:
- 源端口 & 目标端口(Port)
- TCP 三次握手(SYN/ACK)
- UDP 无连接特性
(5)应用层(HTTP / DNS / FTP / SSH 等)
- 这里是应用层协议的数据,比如:
- HTTP:可以看到
GET /index.html
这样的请求,甚至可能获取到明文密码。 - DNS:可以解析域名查询请求,找出目标主机访问过的地址。
- FTP/Telnet:这些老协议的用户名密码可能是明文传输的!
- SMTP/POP3/IMAP:邮件传输协议,可能泄露敏感的邮件内容。
- HTTP:可以看到
📌 实战技巧:
- 过滤 HTTP 请求:
http.request.method == "GET"
- 过滤 DNS 查询:
dns.qry.name contains "target.com"
- 查找 FTP/Telnet 明文密码:
ftp || telnet
三、tcpdump:终端抓包分析工具
tcpdump 是一个轻量级的命令行工具,适用于服务器环境(如 SSH 远程服务器)进行实时抓包和流量分析。
1. 读取 .pcap
文件
如果你已经有了 .pcap
抓包文件,可以用 tcpdump 查看数据包:
tcpdump -r password_cracking_filtered.pcap
2. 统计流量中的源 IP
想知道抓包文件里有哪些源 IP?可以用 awk
统计并排序:
tcpdump -n -r password_cracking_filtered.pcap | awk -F" " '{print $3 }' | sort | uniq -c | head
这条命令会:
- 解析
.pcap
文件里的数据包 - 提取第 3 列(通常是源 IP 地址)
- 统计出现次数,并排序
- 显示最常见的前 10 个 IP 地址
📌 实战应用:用于找出攻击来源、识别哪些 IP 发起了最多的连接请求。
3. 过滤特定 IP 的数据包
如果只想查看某个 IP 发送的流量,可以用 src host
过滤:
tcpdump -n src host 172.16.40.10 -r password_cracking_filtered.pcap
如果想看目标是这个 IP 的数据包,用 dst host
过滤:
tcpdump -n dst host 172.16.40.10 -r password_cracking_filtered.pcap
📌 实战应用:用于分析某台目标机的通信,看看它都在和哪些 IP 交互。
4. 过滤特定端口的流量
有时候,我们只想查看某个端口(如 Web 服务器 port 80/81
)的数据包,可以这样做:
tcpdump -n port 81 -r password_cracking_filtered.pcap
📌 实战应用:可以用来分析 Web 服务器的 HTTP 流量,看看有没有可利用的漏洞,比如 SQL 注入、未授权访问等。
5. 查看完整数据包内容
如果想看到数据包的完整 HEX 和 ASCII 内容,可以加 -X
参数:
tcpdump -nX -r password_cracking_filtered.pcap
📌 实战应用:
- 查找明文密码(如 FTP/Telnet 登录数据)
- 分析恶意代码(如嵌入在 HTTP 请求中的恶意 JS)
- 检查隐藏的数据传输(如 DNS 隧道、加密通信)
四、Wireshark vs tcpdump
功能 | Wireshark 🚀 | tcpdump 🖥️ |
---|---|---|
是否有 GUI | ✅ 是 | ❌ 否(命令行) |
实时抓包 | ✅ 是 | ✅ 是 |
离线分析 .pcap | ✅ 是 | ✅ 是 |
协议解析 | ✅ 可视化解析 | ✅ 只能手动解析 |
适合环境 | 桌面端、GUI 分析 | 服务器、终端 SSH |
📌 总结建议:
- Wireshark 适合 GUI 分析,查看
.pcap
文件时更直观。 - tcpdump 适合服务器环境,在远程主机上抓包更高效。
掌握这两款工具,可以让你的渗透测试能力更上一层楼!🔥
相关文章:
OSCP 渗透测试:网络抓包工具的使用指南
在 OSCP 考试和渗透测试中,网络数据分析是至关重要的技能。无论是嗅探明文密码、分析恶意流量,还是溯源攻击,抓包工具都是我们的得力助手。 本文将介绍 OSI 七层网络模型 及其在网络分析中的作用,并详细讲解 Wireshark 和 tcpdum…...

Android 进程间通信
什么是IPC? Android 进程间通信(IPC,Inter-Process Communication)是Android操作系统中不同进程间交换数据和资源的一种机制。由于Android是多任务操作系统,每个应用通常运行在自己的进程中,以提高安全性和…...

Kubernetes学习之通过Service访问Pod
一、基础概述 1.当通过deployment等controller动态创建和销毁pod使得每个pod都有自己的ip地址,当controller用新的pod替代发生故障的pod时,新的pod会分配到新的ip地址,那么客户端如何稳定的找到并访问pod提供的服务。 2.创建service service从…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.18 对象数组:在NumPy中存储Python对象
2.18 对象数组:在NumPy中存储Python对象 目录 #mermaid-svg-shERrGOBuM2rBzeB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-shERrGOBuM2rBzeB .error-icon{fill:#552222;}#mermaid-svg-shERrGOBuM2rB…...
Web - CSS3基础语法与盒模型
概述 这篇文章是关于 Web 前端 CSS3 的基础语法与盒模型的讲解。包括 CSS3 层叠性及处理冲突规则、伪元素和新增伪类元素、属性选择器等。还介绍了文本与字体属性,如段落和行相关属性、字体文本属性。最后阐述了盒子模型,如元素隐藏、行内与块元素转换、…...

CSS知识总结
CSS(层叠样式表,Cascading Style Sheets)是一种用于描述网页内容视觉表现的样式语言,与HTML(结构)和JavaScript(行为)共同构成现代Web开发的三大核心技术。 一、基本概念 定义&…...

基于Spring Security 6的OAuth2 系列之十 - 授权服务器--刷新token
之所以想写这一系列,是因为之前工作过程中使用Spring Security OAuth2搭建了网关和授权服务器,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级…...
信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍
【题目链接】 ybt 2113:【24CSPJ普及组】小木棍(sticks) 洛谷 P11229 [CSP-J 2024] 小木棍 【题目考点】 1. 思维题,找规律 【解题思路】 解法1:找规律 该题为:求n根木棍组成的无前导0的所有可能的数…...

安装hami的笔记
k3s环境下安装hami提示如下错误: "failed to “StartContainer” for “kube-scheduler” with InvalidImageName: "Failed to apply default image tag “registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.31.2k3s1”: 没有Inva…...

【区块链】区块链密码学基础
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 区块链密码学基础引言一、哈希函数1.1 基本概念1.2 数学表达 二、非对称加密2.1…...

强化学习笔记(5)——PPO
PPO视频课程来源 首先理解采样期望的转换 变量x在p(x)分布下,函数f(x)的期望 等于f(x)乘以对应出现概率p(x)的累加 经过转换后变成 x在q(x)分布下,f(x)*p(x)/q(x) 的期望。 起因是:求最大化回报的期望,所以对ceta求梯度 具体举例…...

【C语言入门】解锁核心关键字的终极奥秘与实战应用(三)
目录 一、auto 1.1. 作用 1.2. 特性 1.3. 代码示例 二、register 2.1. 作用 2.2. 特性 2.3. 代码示例 三、static 3.1. 修饰局部变量 3.2. 修饰全局变量 3.3. 修饰函数 四、extern 4.1. 作用 4.2. 特性 4.3. 代码示例 五、volatile 5.1. 作用 5.2. 代码示例…...
寒假day10
第十天:请写出以下几个数据的类型 整数 a int a的地址 int* 存放a的数组b …...

本地部署与使用SenseVoice语音大模型简析
前言 SenseVoice 是一种语音基础模型,具有多种语音理解功能,包括自动语音识别 (ASR)、口语识别 (LID)、语音情感识别 (SER) 和音频事件检测 (AED)。本博客将指导您安装和使用 SenseVoice 模型,使其尽可能方便用户使用。 Github 仓库链接: ht…...
Kafka SASL/SCRAM介绍
文章目录 Kafka SASL/SCRAM介绍1. SASL/SCRAM 认证机制2. SASL/SCRAM 认证工作原理2.1 SCRAM 认证原理2.1.1 密码存储和加盐2.1.2 SCRAM 认证流程 2.2 SCRAM 认证的关键算法2.3 SCRAM 密码存储2.4 SCRAM 密码管理 3. 配置和使用 Kafka SASL/SCRAM3.1 Kafka 服务器端配置3.2 创建…...

中间件漏洞之CVE-2024-53677
目录 什么是struts?CVE-2024-53677简介影响版本复现环境搭建漏洞利用修复 什么是struts? 在早期的 Java Web 开发中,代码往往混乱不堪,难以维护和扩展。比如,一个简单的用户登录功能,可能在不同的 Java 类…...
pytorch基于 Transformer 预训练模型的方法实现词嵌入(tiansz/bert-base-chinese)
以下是一个完整的词嵌入(Word Embedding)示例代码,使用 modelscope 下载 tiansz/bert-base-chinese 模型,并通过 transformers 加载模型,获取中文句子的词嵌入。 from modelscope.hub.snapshot_download import snaps…...

Windows电脑本地部署运行DeepSeek R1大模型(基于Ollama和Chatbox)
文章目录 一、环境准备二、安装Ollama2.1 访问Ollama官方网站2.2 下载适用于Windows的安装包2.3 安装Ollama安装包2.4 指定Ollama安装目录2.5 指定Ollama的大模型的存储目录 三、选择DeepSeek R1模型四、下载并运行DeepSeek R1模型五、常见问题解答六、使用Chatbox进行交互6.1 …...
区间覆盖问题
文章目录 1. 题面2. 简单分析3. 代码解答4. TLE的2点可能 1. 题面 给定 N N N个区间 [ a i , b i ] [a_i,b_i] [ai,bi] 以及一个区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定区间完全覆盖。 输出最少区间数,如果无法完全…...

【LLM-agent】(task2)用llama-index搭建AI Agent
note LlamaIndex 实现 Agent 需要导入 ReActAgent 和 Function Tool,循环执行:推理、行动、观察、优化推理、重复进行。可以在 arize_phoenix 中看到 agent 的具体提示词,工具被装换成了提示词ReActAgent 使得业务自动向代码转换成为可能&am…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...