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

运行结果如下:

相关推荐
Jtti17 分钟前
SSH连接服务器超时?可能原因与解决方案
服务器·网络·php
卓码软件测评44 分钟前
第三方课题验收测试机构:【API测试工具Apifox使用指南】
功能测试·测试工具·单元测试·压力测试·可用性测试
deng-c-f1 小时前
Linux C/C++ 学习日记(27):KCP协议(三):源码分析与使用示例
linux·服务器·网络·c++·网络编程·kcp
电鱼智能的电小鱼2 小时前
服装制造企业痛点解决方案:EFISH-SBC-RK3588 柔性化吊挂调度方案
网络·人工智能·嵌入式硬件·算法·制造
汪汪大队u2 小时前
为什么 filter-policy 仅对 ASBR 的出方向生效,且即使在该生效场景下,被过滤的路由在协议内部(如协议数据库)依然存在,没有被彻底移除?
服务器·前端·网络
程序员杰哥2 小时前
UI自动化测试实战:从入门到精通
自动化测试·软件测试·python·selenium·测试工具·ui·职场和发展
wangjialelele2 小时前
端口号、常见协议和套接字
linux·运维·服务器·c语言·网络
小糖学代码2 小时前
网络:3.Socket编程TCP
网络·tcp/ip·php
王道长服务器 | 亚马逊云3 小时前
AWS CloudTrail:让每一次操作都“有迹可循”
服务器·网络·云计算·智能路由器·aws
Tony Bai3 小时前
【Go 网络编程全解】06 UDP 数据报编程:速度、不可靠与应用层弥补
开发语言·网络·后端·golang·udp