MuhammadMuneeb007/pcap-analysis-standalone-toolkit
GitHub: MuhammadMuneeb007/pcap-analysis-standalone-toolkit
Stars: 1 | Forks: 0
# PCAP分析工具包
本仓库提供一套实用的PCAP分析工具包,包含10个独立的Python脚本。
每个脚本都是独立的,接收PCAP输入,并将结果写入各自的分析文件夹。
## 1) 本工具包涵盖内容
- 流量可视化与动画
- 对象提取与文件清单
- 协议解码与会话摘要
- 基于规则的威胁检测与评分
- 凭证与认证工件探测
- TCP/UDP流量统计
- GeoIP世界地图与流向
- 时间线分析
- 主机画像
- 最终高层摘要
## 2) 环境要求
- Python 3.11+
- 核心包:scapy、matplotlib、networkx
- 推荐包:pandas、plotly、folium、requests、geoip2
- 可选外部工具:
- tshark(推荐用于最佳提取/解码深度)
- GeoLite2-City.mmdb(推荐用于精确的GeoIP)
安装:
```
python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install scapy pandas matplotlib networkx plotly folium requests geoip2
```
## 3) 快速启动
运行单个分析:
```
python Analysis_1_Traffic_Visualizer.py --pcap http.cap --output-dir outputs
```
使用本地数据库运行GeoIP:
```
python Analysis_7_GeoIP_Map.py --pcap http.cap --output-dir outputs --geoip-db GeoLite2-City.mmdb
```
## 4) 推荐执行顺序
1. Analysis_10_Final_Summary.py
2. Analysis_3_Protocol_Decoder.py
3. Analysis_6_Flow_Statistics.py
4. Analysis_8_Timeline_Analysis.py
5. Analysis_1_Traffic_Visualizer.py
6. Analysis_9_Host_Profiling.py
7. Analysis_4_Threat_Detection.py
8. Analysis_5_Credential_Hunter.py
9. Analysis_2_Object_Extractor.py
10. Analysis_7_GeoIP_Map.py
## 5) 输出结构
针对输入文件 http.cap,将输出目录设置为 outputs:
```
outputs/
http/
Analysis_1_Traffic_Visualizer/
Analysis_2_Object_Extractor/
Analysis_3_Protocol_Decoder/
Analysis_4_Threat_Detection/
Analysis_5_Credential_Hunter/
Analysis_6_Flow_Statistics/
Analysis_7_GeoIP_Map/
Analysis_8_Timeline_Analysis/
Analysis_9_Host_Profiling/
Analysis_10_Final_Summary/
```
## 6) 分析输出(每个脚本)
| 脚本 | 关键输出 |
|---|---|
| Analysis_1_Traffic_Visualizer.py | communication_graph.png, communication_graph.html, edges.csv, traffic_animation.mp4/.gif |
| Analysis_2_Object_Extractor.py | raw_exports/, organized_objects/, reports/object_inventory.csv, reports/capture_summary.json |
| Analysis_3_Protocol_Decoder.py | protocol_summary.csv, decoded_sessions.csv, protocol_summary.txt |
| Analysis_4_Threat_Detection.py | alerts.csv, alerts.json, alerts_summary.txt |
| Analysis_5_Credential_Hunter.py | credentials_found.csv, credential_summary.txt |
| Analysis_6_Flow_Statistics.py | flows.csv, heavy_flows.csv, flow_summary.txt |
| Analysis_7_GeoIP_Map.py | external_ips.csv, geoip_map.html, geoip_summary.txt |
| Analysis_8_Timeline_Analysis.py | traffic_over_time.csv, timeline_plot.png, timeline_summary.txt |
| Analysis_9_Host_Profiling.py | host_profiles.csv, host_profiles.txt |
| Analysis_10_Final_Summary.py | final_summary.txt, final_summary.json |
## 7) 已生成的示例工件(本仓库已包含)
以下示例结果由 http.cap 生成,可直接打开查看:
如果链接在Markdown预览中无法打开,请运行脚本一次,然后从PCAP分析文件夹根目录打开此README。
### 输出文件
- **流量图图像:**

- **流量动画:**

- **时间线图:**

- **交互式图:** [communication_graph.html](http/http/Analysis_1_Traffic_Visualizer/communication_graph.html)
- **GeoIP世界地图:** [geoip_map.html](http/http/Analysis_7_GeoIP_Map/geoip_map.html)
- **威胁告警:**
```
```
[alerts.json](http/http/Analysis_4_Threat_Detection/alerts.json)
- **最终摘要:** [final_summary.txt](http/http/Analysis_10_Final_Summary/final_summary.txt)
## 8) 实用说明
- 脚本之间相互独立(无内部包耦合)。
- 若缺少tshark,具有回退行为的脚本会在可能的情况下继续执行。
- 使用GeoLite2数据库可提升GeoIP地图质量。
- 升级后的脚本在适用情况下导出UTC时间戳。
标签:AMSI绕过, folium, geoip2, GeoIP映射, matplotlib, Mutation, networkx, pandas, PCAP分析, PFX证书, plotly, Python, scapy, tshark, 主机画像, 会话统计, 凭证狩猎, 协议分析, 协议解码, 取证工具, 可视化, 地理定位, 威胁检测, 对象提取, 摘要报告, 攻击检测, 无后门, 权限提升, 流统计, 流量可视化, 独立脚本, 网络流量