# netspeed **Repository Path**: ebaina-os/netspeed ## Basic Information - **Project Name**: netspeed - **Description**: 该工具用于实时监控指定网络接口的上下行速度,通过周期性读取网络接口的收发字节数,计算单位时间内的流量变化,从而得到实时的上传(Up Speed)和下载(Down Speed)速度(单位:Mb/s). - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-18 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # netspeed #### 功能介绍 该工具用于实时监控指定网络接口的上下行速度,通过周期性读取网络接口的收发字节数,计算单位时间内的流量变化,从而得到实时的上传(Up Speed)和下载(Down Speed)速度(单位:Mb/s). #### 软件架构 1. 借助系统接口getifaddrs获取网络接口的收发字节统计信息 2. 间隔指定时间(默认 100000 微秒,即 0.1 秒)两次读取字节数,计算差值 3. 根据时间间隔和字节数差值,转换为 Mb/s 单位的速度并实时显示 #### 编译步骤 1. 环境要求:Linux/arm linux系统,具备 GCC 编译器和标准 C 库 2. 编译命令:在包含main.cpp、net_speed.cpp、net_speed.h三个文件的目录下,执行以下命令: `gcc main.cpp net_speed.cpp -o netspeed` #### 使用说明 1. 运行程序:在终端中执行编译生成的可执行文件 ` ./netspeed` 2. 监控内容:程序会持续输出指定网络接口(默认eth0)的实时速度,格式如下 `eth0: Up Speed: X.XXXXXX Mb/s || Down Speed: Y.YYYYYY Mb/s` 3. 停止程序:按Ctrl+C终止程序运行 #### 注意事项 1. 默认监控的网络接口为eth0,若需监控其他接口(如ens33、wlan0等),需修改main.cpp中sprintf(ndev.ifs_name,"eth0");语句,将eth0替换为目标接口名 2. 速度计算间隔可通过修改main.cpp中ndev.ifs_us = 100000;调整(单位:微秒),数值越小刷新频率越高 3. 部分系统可能需要 root 权限才能正常获取网络接口信息,若运行失败可尝试使用sudo执行