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

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 适合服务器环境,在远程主机上抓包更高效。

掌握这两款工具,可以让你的渗透测试能力更上一层楼!🔥


http://www.kler.cn/a/527594.html

相关文章:

  • langgraph实现 handsoff between agents 模式 (1)
  • 项目测试之MockMvc
  • OpenCV:闭运算
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十二.基本定时器
  • C#面试常考随笔4:int? 和 int的区别,以及int?的运用场景?
  • OpenFeign的工作原理是什么?它第一次加载的时候为什么慢?
  • Java多线程——对象的共享
  • DeepSeek本地部署(windows)
  • 软件测试(认识测试)
  • 无人机图传模块 wfb-ng openipc-fpv,4G
  • 【易理解】04_什么是try-catch-throw语句?
  • socket编程短平快
  • 计算机网络一点事(24)
  • 漏洞扫描工具之xray
  • 【视频+图文讲解】HTML基础2-html骨架与基本语法
  • OpenCV:Harris、Shi-Tomasi角点检测
  • 【小白学AI系列】NLP 核心知识点(六)Softmax函数介绍
  • 如何优化轮式移动机器人的运动稳定性?
  • 仿真设计|基于51单片机的低频信号控制系统仿真
  • PostgreSQL图插件AGE
  • DeepSeek-R1 论文解读 —— 强化学习大语言模型新时代来临?
  • Java 泛型<? extends Object>
  • 小程序-基础加强
  • 最新Java开发进阶!Java进阶面试资料无偿分享_java面试最新资料
  • SpringBoot入门:快速构建第一个Web应用
  • 需求分析应该从哪些方面来着手做?