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

OSCP 渗透测试:网络抓包工具的使用指南

在 OSCP 考试和渗透测试中,网络数据分析是至关重要的技能。无论是嗅探明文密码、分析恶意流量,还是溯源攻击,抓包工具都是我们的得力助手。

本文将介绍 OSI 七层网络模型 及其在网络分析中的作用,并详细讲解 Wiresharktcpdump 这两款常见的抓包工具,帮助你在渗透测试中高效分析流量数据。


一、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”功能,可以直观地查看完整的会话数据。

🔹 步骤

  1. 在 Wireshark 里打开 .pcap 抓包文件(或者直接在网络接口上实时抓包)。
  2. 右键点击感兴趣的数据包,选择 “Follow TCP Stream”“Follow UDP Stream”
  3. 这样就能看到完整的 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.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

📌 总结建议:

  1. Wireshark 适合 GUI 分析,查看 .pcap 文件时更直观。
  2. 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…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

生成 Git SSH 证书

🔑 1. ​​生成 SSH 密钥对​​ 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​: -t rsa&#x…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...