Wireshark快速入门--对启动的后端程序进行抓包

怎么对自己启动的后端程序进行抓包?

1. 安装并启动 Wireshark

你要先从 Wireshark 官网 下载对应系统的安装包,然后进行安装。安装完成后,启动该软件。

可以快速入门可以参考博文:从零开始学 Wireshark:网络分析入门全攻略

2. 选择合适的网络接口

Wireshark 启动后,在界面里会展示出可用的网络接口列表,像以太网、Wi-Fi 之类的。你要依据后端程序实际使用的网络连接来挑选对应的接口。例如,若后端程序是通过 Wi-Fi 联网的,那就选择 Wi-Fi 接口。

3. 设置捕获过滤器

为了仅捕获和后端程序端口 9090 相关的数据包,你得设置捕获过滤器。在捕获选项里找到「过滤」框,输入以下过滤规则:

plaintext 复制代码
tcp port 9090

该规则的作用是仅捕获 TCP 协议中端口号为 9090 的数据包。要是你的程序还会使用 UDP 协议,就使用下面的规则:

plaintext 复制代码
port 9090

这一规则能捕获 TCP 和 UDP 协议里端口号为 9090 的数据包。

4. 开始捕获数据包

点击 Wireshark 界面上的「开始捕获」按钮(鲨鱼鳍图标),这样 Wireshark 就会开始捕获所选网络接口上符合过滤规则的数据包。

5. 启动后端程序

开启你的后端程序,程序启动之后,Wireshark 会实时捕获其发起的数据包。(下述是我的后端待测的程序,端口是9090)

6. 分析捕获的数据包

在捕获到数据包之后,你可以在 Wireshark 的数据包列表中查看这些数据包的概要信息,例如源地址、目标地址、协议类型、时间戳等。若要查看某个数据包的详细信息,只需在列表中选中该数据包,Wireshark 就会在下方的「数据包详情」窗口展示该数据包的协议层级细节。

7. 停止捕获并保存数据

当你完成数据包的捕获和分析后,点击「停止捕获」按钮(红色方块图标),然后可以选择将捕获的数据保存为 .pcapng 文件,方便后续的分析与查看。

示例代码(Python 调用 subprocess 启动 Wireshark 并设置过滤规则)

若你希望通过 Python 脚本来启动 Wireshark 并设置过滤规则,可参考下面的代码:

python 复制代码
import subprocess

# 定义 Wireshark 可执行文件路径和过滤规则
wireshark_path = "C:\\Program Files\\Wireshark\\wireshark.exe"  # 根据实际情况修改路径
filter_rule = "tcp port 9090"

# 启动 Wireshark 并设置过滤规则
try:
    subprocess.Popen([wireshark_path, "-f", filter_rule])
    print("Wireshark 已启动并设置过滤规则。")
except FileNotFoundError:
    print("未找到 Wireshark 可执行文件,请检查路径。")
except Exception as e:
    print(f"启动 Wireshark 时出现错误: {e}")

此 Python 脚本会调用 subprocess 模块启动 Wireshark 并设置捕获过滤器。你需要依据实际情况修改 wireshark_path 的值。

运行结果如下:

相关推荐
wljt30 分钟前
HTTP和openFeign
网络·网络协议·http
汤愈韬7 小时前
ACL概述、ACL原理、基本ACL应用及配置
网络·网络协议·网络安全
码刘的极客手记11 小时前
VCAP4-DCA Beta 考试体验分享与 esxcli 自动化实战(第二、三部分)
网络·esxi·vmware·虚拟机
朝风工作室12 小时前
开源一款轻量级跨网段 IPC 设备发现与网络配置工具
网络·开源
Qaz5556669112 小时前
透明DNS选路实验
网络
Wpa.wk13 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
haluhalu.13 小时前
Linux网络编程------网络基础
网络·网络协议
坐怀不乱杯魂13 小时前
Linux网络 - HTTP协议
网络·网络协议·http
橘颂TA15 小时前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
ipooipoo118815 小时前
动态住宅IP的定义、核心优势与技术场景应用
网络·网络协议·tcp/ip