# traceroute-log-analyzer **Repository Path**: Hilbert777/traceroute-log-analyzer ## Basic Information - **Project Name**: traceroute-log-analyzer - **Description**: A tool for automating traceroute-log processing to help complete TJU computer network jobs - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Traceroute Log Analysis Tool 这是一个用于批量处理 traceroute 日志文件的 Python 脚本。它能自动计算网络延迟统计数据,并将结果生成为格式化的报告。 ## 功能特点 * **自动批量处理**:自动读取目录下所有符合 naming pattern (`log*.txt`) 的日志文件。 * **智能解析**: * 支持解析标准 Linux `traceroute` 命令输出。 * 自动识别检测目标(Target IP/Domain)。 * **鲁棒性强**:能够处理单跳中包含多个不同 IP 地址、混合超时(`*`)、以及部分超时的情况。 * **数据统计**: * 自动计算每次 traceroute 的**平均往返延迟 (Mean RTT)**。 * 计算延迟的**标准差 (StdDev)**,反映网络抖动情况。 * 自动剔除超时数据(`*`),只统计有效响应。 * **结果输出**:不仅在终端显示,还会生成易读的 `result.txt` 表格文件。 ## 使用方法 ### 1. 准备环境 确保已安装 Python 3.x。本脚本仅使用 Python 标准库,**无需安装任何第三方库**。 ### 2. 准备数据 将包含 traceroute 输出的日志文件放在脚本同一目录下。 * 文件命名建议:`log1.txt`, `log2.txt`, `log10.txt` 等。 * 脚本会根据文件名中的数字顺序自动排序处理。 ### 3. 运行脚本 在终端或命令行中运行: ```bash python main.py ``` ### 4. 查看结果 运行结束后,当前目录下会生成 `result.txt` 文件,内容示例如下: ```text Filename Target Mean (ms) StdDev (ms) ------------------------------------------------------------ log1.txt www.tencent.com 11.81 8.70 log1.txt www.cloudflare.com 36.60 19.51 log2.txt www.tencent.com 6.67 7.66 ... ``` ## 处理逻辑说明 脚本使用正则表达式提取每一行中的毫秒数(例如 `12.184 ms`)。 * **忽略超时**:输出中的 `*` 会被自动忽略,不计入统计。 * **多路径处理**:如果一跳中出现了多个 IP 地址(例如负载均衡场景),脚本会将该行所有有效的 ms 数据都纳入该次 traceroute 的统计范围。 ## 文件结构 * `main.py`: 主程序脚本。 * `log*.txt`: 原始日志文件(输入)。 * `result.txt`: 分析结果报告(输出)。