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…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
