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 的值。

运行结果如下:

相关推荐
万粉变现经纪人1 小时前
如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘tokenizers’ 问题
python·selenium·测试工具·scrapy·beautifulsoup·fastapi·pip
我的xiaodoujiao3 小时前
Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium
开发语言·python·测试工具
小白银子6 小时前
零基础从头教学Linux(Day 42)
linux·运维·服务器·网络·nginx
火星MARK7 小时前
如何配置 Ingress 的 SSL/TLS 证书?
网络·网络协议·ssl
看好多桂花树7 小时前
Nginx SSL/TLS 配置
网络·nginx·ssl
测试老哥7 小时前
Python+selenium自动化生成测试报告
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
ThreeAu.8 小时前
2025年Web自动化测试与Selenium面试题收集:从基础到进阶的全方位解析
自动化测试·软件测试·selenium·测试工具·面试·web测试·测试开发工程师
程序猿费益洲8 小时前
Docker 网络详解:(一)Linux 网络虚拟化技术
linux·网络·docker·容器·云计算
云宏信息9 小时前
赛迪顾问《2025中国虚拟化市场研究报告》解读丨虚拟化市场迈向“多元算力架构”,国产化与AI驱动成关键变量
网络·人工智能·ai·容器·性能优化·架构·云计算
歪歪1009 小时前
什么是TCP/UDP/HTTP?
开发语言·网络·网络协议·tcp/ip·http·udp