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

devtools/2025/2/3 18:55:12/

在 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.ppmy.cn/devtools/155804.html

相关文章

【Pytest】生成html报告中,中文乱码问题解决方案

链接上一篇文章:https://blog.csdn.net/u013080870/article/details/145369926?spm1001.2014.3001.5502 中文乱码问题,python3,Python3.7后,还一个文件就是result.py 因为中文可以在内容中,也可能在文件名,类名&…

Git 常用命令汇总

# 推荐一个十分好用的git插件---->GitLens 其实很多命令操作完全界面化了&#xff0c;鼠标点点就可以实现但是命令是必要的&#xff0c;用多了你就知道了 Git 常用命令汇总 1. Git 基础操作 命令作用git init初始化本地仓库git clone <repo-url>克隆远程仓库到本地g…

论文阅读(十三):复杂表型关联的贝叶斯、基于系统的多层次分析:从解释到决策

1.论文链接&#xff1a;Bayesian, Systems-based, Multilevel Analysis of Associations for Complex Phenotypes: from Interpretation to Decision 摘要&#xff1a; 遗传关联研究&#xff08;GAS&#xff09;报告的结果相对稀缺&#xff0c;促使许多研究方向。尽管关联概念…

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)

目录 1 -> HML语法 1.1 -> 页面结构 1.2 -> 数据绑定 1.3 -> 普通事件绑定 1.4 -> 冒泡事件绑定5 1.5 -> 捕获事件绑定5 1.6 -> 列表渲染 1.7 -> 条件渲染 1.8 -> 逻辑控制块 1.9 -> 模板引用 2 -> CSS语法 2.1 -> 尺寸单位 …

全面解析文件上传下载删除漏洞:风险与应对

在数字化转型的时代&#xff0c;文件上传、下载与删除功能已经成为各类应用程序的标准配置&#xff0c;从日常办公使用的协同平台&#xff0c;到云端存储服务&#xff0c;再到社交网络应用&#xff0c;这些功能在给用户带来便捷体验、显著提升工作效率的同时&#xff0c;也隐藏…

Electricity Market Optimization 探索系列(二)

​ 本文参考链接link 负荷持续时间曲线 (Load Duration Curve)&#xff0c;是根据实际的符合数据进行降序排序之后得到的一个曲线 这个曲线能够发现负荷在某个区间时&#xff0c;将会持续多长时间&#xff0c;有助于发电容量的规划 净负荷(net load) 是指预期负荷和预期可再生…

动手学图神经网络(3):利用图神经网络进行节点分类 从理论到实践

利用图神经网络进行节点分类:从理论到实践 前言 在之前的学习中,大家对图神经网络有了初步的了解。本次教程将深入探讨如何运用图神经网络(GNNs)来解决节点分类问题。在节点分类任务里,大家往往仅掌握少量节点的真实标签,却要推断出其余所有节点的标签,这属于归纳式学…

刷题记录 贪心算法-4:53. 最大子数组和

题目&#xff1a;53. 最大子数组和 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()&qu…