N4rr34n6/BitTorrent-Analysis-Tool
GitHub: N4rr34n6/BitTorrent-Analysis-Tool
基于 PowerShell 和 Tshark 的 BitTorrent 流量离线分析脚本,从 PCAPNG 抓包文件中自动提取并汇总 BT 通信的关键数据。
Stars: 0 | Forks: 0
# BitTorrent 分析工具
此 PowerShell 脚本 (`BitTorrent.ps1`) 用于处理 PCAPNG 捕获文件,以提取和分析 BitTorrent 流量。它识别包含相关 IP、端口和 infohash 数据的帧,并将结果输出到结构化的 CSV 文件中。此外,该脚本还提供了捕获文件中出现频率最高的前 5 个 IP 地址和 infohash 的摘要。
## 主要功能
- **BitTorrent 流量分析**:从 BitTorrent 流量中提取关键数据,包括源 IP、目标 IP、端口、主机和 infohash。
- **PCAPNG 处理**:处理由 Wireshark 或 Tshark 等工具生成的 PCAPNG 文件。
- **CSV 输出**:以 CSV 格式保存捕获的数据,便于分析和进一步处理。
- **前 5 项洞察**:显示捕获中出现频率最高的前 5 个 IP 地址和 infohash。
## 前置条件
- **Wireshark/Tshark**:此脚本依赖 Tshark(Wireshark 套件的一部分)来读取和过滤 PCAPNG 文件。请确保已安装并在默认路径 (`C:\Program Files\Wireshark\tshark.exe`) 下可用。
- **PowerShell**:该脚本使用 PowerShell 编写,适用于安装了 PowerShell 5.1 或更高版本的 Windows 系统。
## 安装说明
1. 安装 **Wireshark**,并确保安装中包含 Tshark。
2. 将 `BitTorrent.ps1` 脚本放置在你的工作目录中。
## 用法
通过指定 PCAPNG 文件路径和输出 CSV 文件来运行脚本:
```
.\BitTorrent.ps1 -finalCsvPath "output.csv" -pcapFilePath "capture.pcapng"
```
### 参数
- `-finalCsvPath`:存储最终 CSV 文件的路径。默认为 `captured_data.csv`。
- `-pcapFilePath`:要处理的 PCAPNG 文件的路径。默认为 `captured.pcapng`。
### 示例
```
.\BitTorrent.ps1 -finalCsvPath "resultados.csv" -pcapFilePath "captura.pcapng"
```
这将分析指定的 PCAPNG 文件,提取相关的 BitTorrent 流量,并将结果保存到 `resultados.csv`。
## 输出
输出的 CSV 文件包含以下列:
- `FrameNumber`:捕获中的帧编号。
- `Timestamp`:捕获帧的时间戳。
- `IPSource`:源 IP 地址。
- `IPDestination`:目标 IP 地址。
- `SourcePort`:源端口。
- `DestinationPort`:目标端口。
- `Host`:从 BitTorrent payload 中提取的主机(如果可用)。
- `Port`:BitTorrent payload 中的端口(如果可用)。
- `Infohash`:从 payload 中提取的 BitTorrent infohash。
### 示例 CSV 输出
| FrameNumber | Timestamp | IPSource | IPDestination | SourcePort | DestinationPort | Host | Port | Infohash |
|-------------|---------------------|------------|---------------|------------|-----------------|-----------|------|---------------------------------------|
| 1234 | 2023-09-01 12:34:56 | 192.168.1.1| 10.0.0.2 | 6881 | 51413 | example.com | 80 | a3b5f8d6a1b2c3d4e5f6g7h8i9j0k1l2 |
## 分析
运行脚本后,它还将显示捕获文件中出现频率最高的前 5 个 IP 地址和 infohash 的摘要。
### 示例前 5 项结果
```
Top 5 Most Seen IPs:
192.168.1.1: 15
10.0.0.2: 12
...
Top 5 Most Seen Infohashes:
a3b5f8d6a1b2c3d4e5f6g7h8i9j0k1l2: 5
...
```
## 系统语言注意事项
如果你的系统使用西班牙语或英语以外的语言,你可能需要修改脚本中的以下行,以匹配系统的时区和格式:
```
$cleanedTime = $fields[1] -replace "Hora de verano romance", ""
```
例如,将 `"Hora de verano romance"` 更改为与系统中的时区格式相匹配。
## 法律免责声明
本工具仅用于教育目的和合法的网络流量分析。请勿在未获得明确监控许可的情况下,使用本工具捕获或分析流量。滥用此工具可能会产生法律后果。
## 许可证
本项目基于 GNU Affero General Public License v3.0 提供。你可以在 [LICENSE](LICENSE) 文件中找到完整的许可证文本。
标签:AI合规, BitTorrent, BT协议, CSV文件导出, Infohash, IPv6, IP地址统计, Libemu, PCAPNG, PowerShell, Tshark, Wireshark, 信息提取, 句柄查看, 哈希提取, 数据包解析, 流量监控, 网络安全, 脚本工具, 隐私保护