网络过滤器精通挑战

CybersecurityCybersecurityBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Wireshark 的捕获过滤器(capture filters)根据特定条件选择性地捕获网络流量。捕获过滤器是强大的工具,能够让你专注于相关数据并丢弃无关流量,从而使你的分析更加高效和有效。你将探索各种捕获过滤器表达式,并将其应用于实际场景中,从而提升你在网络故障排除和安全分析方面的技能。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cybersecurity(("`Cybersecurity`")) -.-> cybersecurity/WiresharkGroup(["`Wireshark`"]) cybersecurity/WiresharkGroup -.-> cybersecurity/ws_packet_capture("`Wireshark Packet Capture`") cybersecurity/WiresharkGroup -.-> cybersecurity/ws_display_filters("`Wireshark Display Filters`") cybersecurity/WiresharkGroup -.-> cybersecurity/ws_capture_filters("`Wireshark Capture Filters`") cybersecurity/WiresharkGroup -.-> cybersecurity/ws_packet_analysis("`Wireshark Packet Analysis`") cybersecurity/WiresharkGroup -.-> cybersecurity/ws_commandline_usage("`Wireshark Command Line Usage`") subgraph Lab Skills cybersecurity/ws_packet_capture -.-> lab-415940{{"`网络过滤器精通挑战`"}} cybersecurity/ws_display_filters -.-> lab-415940{{"`网络过滤器精通挑战`"}} cybersecurity/ws_capture_filters -.-> lab-415940{{"`网络过滤器精通挑战`"}} cybersecurity/ws_packet_analysis -.-> lab-415940{{"`网络过滤器精通挑战`"}} cybersecurity/ws_commandline_usage -.-> lab-415940{{"`网络过滤器精通挑战`"}} end

理解捕获过滤器语法

在这一步中,你将学习如何在 Wireshark 中创建捕获过滤器的基本语法。

注意:捕获过滤器 不是 显示过滤器

Wireshark 捕获过滤器语法

Wireshark 中的捕获过滤器使用基于 libpcap 过滤器语言的特定语法。以下是一些常见的元素:

  • host:根据 IP 地址或主机名过滤流量。例如,host 192.168.0.2 捕获与指定 IP 地址相关的流量。
  • net:根据网络地址和子网掩码过滤流量。例如,net 10.0.0.0/24 捕获来自 10.0.0.0/24 网络的流量。
  • port:根据端口号过滤流量。例如,port 80 捕获 HTTP 流量。
  • protocol:根据协议过滤流量。例如,tcp 捕获 TCP 流量,udp 捕获 UDP 流量。

你可以使用逻辑运算符如 andornot 来组合这些元素。

在 Linux 机器上通过终端运行 wireshark 命令来打开 Wireshark。

在过滤器框中填入 tcp 以仅捕获 TCP 数据包。选择接口 any 并点击 Start 开始应用指定过滤器捕获数据包。

捕获过滤器

几秒钟后点击红色方形的 Stop 按钮停止捕获数据包,并将捕获的数据包保存到 /home/labex/project 目录下名为 step1.pcapng 的文件中。

保存捕获的数据包

在 Wireshark 中应用捕获过滤器

在这一步中,你将学习如何在 Wireshark 中应用捕获过滤器并捕获特定的网络流量。

  1. 你可以通过点击 Wireshark 中的 Close this capture file 按钮返回到起始页面。

    关闭当前捕获文件
  2. 在开始新的捕获之前,你可以通过 Capture Options 对话框设置捕获过滤器。点击 Capture Filter 框并输入你所需的过滤器表达式。

    捕获过滤器
    捕获过滤器

  3. 选择接口 any 并从保存的书签中选择一个过滤器。

    捕获过滤器

    你可以使用过滤器 port 80 来捕获端口 80 上的流量,该端口通常用于 HTTP。

    捕获过滤器
  4. Wireshark 现在只会捕获与你的过滤器表达式匹配的数据包,从而更容易分析相关流量。

  5. 运行捕获后,现在打开一个 新终端 并运行一个 bash 脚本来生成模拟流量。

    通过运行以下命令导航到项目目录:

    cd /home/labex/project

    通过运行以下命令来运行 bash 脚本:

    ./simulate_traffic.sh

    示例输出:

    labex:project/ $ ./simulate_traffic.sh
    Netcat server listening on port 80...
    Sending data to port 80...
    Hello, Wireshark!
    Please check the Wireshark output for the data sent to port 80.
  6. 回到 Wireshark,你应该会看到与你的过滤器表达式匹配的捕获数据包。分析流量以识别过滤器捕获的 HTTP 数据包。

    捕获端口 80
  7. 点击红色方形的 Stop 按钮停止捕获数据包,并将捕获的数据包保存到 /home/labex/project 目录下名为 step2.pcapng 的文件中。

使用显示过滤器分析捕获的流量

在这一步中,你将学习如何在 Wireshark 中捕获数据包后使用 显示过滤器 来分析特定的网络流量。

  1. 在 Wireshark 中打开 step2.pcapng 文件。

  2. 转到 显示过滤器 工具栏并输入捕获过滤器表达式。例如,输入 http 以仅显示 HTTP 流量。

  3. Wireshark 将应用过滤器并仅显示符合指定条件的数据包。

  4. 你可以通过添加更具体的过滤器来进一步优化分析。例如,frame contains "Wireshark" 将仅显示包含字符串 "Wireshark" 的数据包。

    显示过滤器
  5. 打开终端并将匹配过滤器表达式的数据包数量写入 report.txt 文件中。

    保存报告

    在本例中,匹配过滤器表达式的数据包数量为 4。

    echo "Number of packets matching the filter expression: 4" > /home/labex/project/report.txt

总结

在本实验中,你学习了如何使用 Wireshark 捕获过滤器根据特定条件选择性地捕获和分析网络流量。你探索了创建捕获过滤器的语法,在实时捕获中应用过滤器,并使用显示过滤器分析捕获的流量。通过掌握捕获过滤器,你可以优化网络故障排除和安全分析的工作流程,专注于最相关的数据并忽略无关流量。这项技能对于网络安全专业人员、网络管理员以及任何使用 Wireshark 等网络分析工具的人来说都是必不可少的。

您可能感兴趣的其他 Cybersecurity 教程