Siaz0/WireGhostz

GitHub: Siaz0/WireGhostz

封装 tshark 的 PowerShell 脚本,用于捕获或读取数据包并导出结构化的纯文本分析报告。

Stars: 0 | Forks: 0

# 读取-Packets 一个封装了 `tshark`(Wireshark 的 CLI)的 PowerShell 脚本,它可以捕获或读取 数据包捕获文件,并导出一份易于阅读的 `.txt` 报告 —— 顶部是摘要表格,下方是每个数据包的完整分层解析。 ## 环境要求 - **Windows** 系统且已安装 **PowerShell** - 已安装 **Wireshark**(这将提供 `tshark.exe` 和 Npcap 驱动程序) → - 仅针对**实时捕获**:需要以**管理员身份**运行 PowerShell (Npcap 需要提权才能进行捕获) ## 设置(仅需一次) 1. 使用上面的链接安装 Wireshark。如果提示,请在安装过程中 接受 Npcap 的安装提示。 2. 允许运行本地脚本(Windows 默认会阻止未签名的 `.ps1` 文件)。 以**管理员身份**打开 PowerShell 并运行: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned 3. 将 `Read-Packets.ps1` 放在方便的位置,例如 `C:\Tools\Read-Packets.ps1`。 ## 用法 打开 PowerShell,`cd` 进入包含该脚本的文件夹,然后运行以下命令之一: ### 列出可用接口 ``` .\Read-Packets.ps1 -ListInterfaces ``` 打印带有编号的网络接口列表。在进行实时捕获时,您将需要 此索引号。 ### 捕获实时流量 **此命令需要以管理员身份运行 PowerShell。** ``` .\Read-Packets.ps1 -Mode Capture -Duration 60 -Interface 1 ``` | 参数 | 含义 | |---|---| | `-Duration` | 捕获持续的时间(秒)(默认为 30) | | `-Interface` | 来自 `-ListInterfaces` 的接口名称或索引 | 这会捕获指定时长的流量,将原始的 `.pcapng` 保存到您的临时 文件夹中(会保留,不会被删除 —— 路径会在最后打印出来),并写入 `.txt` 报告。 ### 读取现有的捕获文件 ``` .\Read-Packets.ps1 -Mode Read -InputFile "C:\Captures\session.pcapng" ``` 将 `-InputFile` 指向**文件本身**,而不是包含它的文件夹 —— 如果您错误地传递了一个文件夹,脚本会明确报错。 ### 自定义输出位置 默认情况下,报告会作为 `packet_report_.txt` 写入当前目录。可以使用以下命令覆盖: ``` .\Read-Packets.ps1 -Mode Read -InputFile "C:\Captures\session.pcapng" -OutputFile "C:\Reports\session.txt" ``` ## 报告内容 ``` ====================================================================== PACKET CAPTURE REPORT ====================================================================== Source file : ... Generated : ... Total packets: N ---------------------------------------------------------------------- SUMMARY ---------------------------------------------------------------------- [one line per packet: frame #, time, src, dst, protocol, length, info] ---------------------------------------------------------------------- FULL PACKET DETAIL ---------------------------------------------------------------------- [full layer-by-layer breakdown per packet: Ethernet -> IP -> TCP/UDP -> payload, same depth as expanding every layer in Wireshark's packet detail pane] ``` 在 VSCode 中打开 `.txt`(如果您的 PATH 中包含 `code` 命令,脚本会自动提示为您执行此操作)。 ## 故障排除 | 症状 | 原因 / 修复方法 | |---|---| | `tshark.exe not found` | 未安装 Wireshark,或安装在了非默认路径。请确认 `C:\Program Files\Wireshark\` 下是否存在 `tshark.exe`。 | | 捕获失败 / 权限错误 | 重新**以管理员身份**打开 PowerShell。实时捕获需要 Npcap 的提升权限。 | | `"" is a directory (folder), not a file` | `-InputFile` 指向了一个文件夹。请选择其中的实际捕获文件。 | | 报告显示 `(empty capture)` | 源文件确实有 0 个数据包,**或者** tshark 读取失败 —— 请先检查该行上方打印的错误信息。 | | 文件扩展名在资源管理器中被隐藏 | Windows 默认隐藏已知扩展名。启用 **查看 → 文件扩展名** 以查看文件确实是 `.pcapng` 还是根本没有扩展名。 | ## 注意事项 - 大型捕获(数千个数据包)将生成一个很大的 `.txt` —— 完整详细信息部分的设计初本就很冗长(它是 Wireshark 显示的每个数据包的 所有信息,而不是摘要)。 - 这是只读的:它从不修改您的 `.pcap`/`.pcapng` 文件,只会 读取它们并写入一个新的 `.txt`。
标签:AI合规, IPv6, Libemu, PowerShell, tshark, 网络抓包, 运维工具, 防御绕过