银河麒麟系统网络丢包排查需分层进行:一用ping看整体丢包率;二用mtr定位逐跳丢包节点;三用fping批量探测多目标;四用nc做tcp层连接测试避icmp屏蔽;五用ethtool和/proc/net/snmp查网卡驱动及内核层丢包指标。

如果您在银河麒麟系统中发现网页加载缓慢、视频卡顿或远程连接中断,可能是由于网络路径中存在数据包丢失。以下是多种查看网络丢包率的具体方法:
一、使用ping命令查看整体丢包率
ping命令通过发送ICMP回显请求并统计响应成功率,其输出末尾的“packet loss”字段直接显示丢包百分比,适用于快速判断目标主机是否出现基础性丢包。
1、打开终端,执行命令:ping -c 10 www.baidu.com,向百度服务器发送10个探测包。
2、等待命令执行完成,查看输出末尾的统计行,重点关注xxx% packet loss字段数值。
3、若该值大于0,则表明在本地到目标主机的路径中存在丢包;若为0%,但个别time=值显示timeout,需结合其他方法进一步验证。
二、使用mtr命令定位逐跳丢包节点
mtr工具在持续追踪路径的同时,对每一跳节点独立统计丢包率(Loss%),可精确定位丢包发生的网络层级,尤其适用于识别中间路由设备引发的间歇性丢包问题。
1、安装mtr工具(如未预装):sudo apt-get install mtr-tiny。
2、运行命令:sudo mtr -n -r -c 20 223.5.5.5,以禁用DNS解析、生成20轮统计的静态报告。
3、检查输出表格中各跳的Loss%列,识别非零值所在行对应的IP地址,该节点即为丢包发生位置。
三、使用fping批量探测多目标丢包表现
fping支持并发向多个目标发送ICMP探测包,并分别返回每个目标的丢包与延迟结果,适合对比不同DNS服务器或CDN节点的稳定性差异,从而排除单点故障干扰。
1、安装fping:sudo apt-get install fping。
2、执行命令:fping -c 5 -q 114.114.114.114 223.5.5.5 8.8.8.8,对三个常用DNS服务器各发5次探测。
3、观察每行末尾是否出现x% loss字样,记录各目标丢包率并横向比较,确认是否存在某特定目标持续丢包。
四、启用TCP层探测规避ICMP屏蔽导致的误判
部分网络出口或防火墙会主动丢弃ICMP报文但允许TCP连接,此时传统ping无法反映真实丢包情况。改用基于TCP端口的连接测试,可验证应用层可达性及对应丢包影响。
1、安装必要工具:sudo apt-get install netcat。
2、执行命令:for i in {1..10}; do nc -z www.baidu.com 80 2>/dev/null && echo "OK" || echo "FAIL"; done | grep -c "FAIL",统计10次TCP连接失败次数。
五、检查本地网卡驱动与底层丢包指标
当ping和mtr未显示明显丢包但业务仍异常时,丢包可能发生在内核协议栈或网卡硬件层。通过ethtool和/proc接口可获取网卡接收错误、队列溢出等底层丢包信号。
1、查看当前活跃网卡名:ip -br link | grep UP,记下如enp0s3类名称。
2、执行命令:sudo ethtool -S enp0s3 | grep -i "drop\|error\|overflow",检查rx_missed_errors、rx_over_errors等关键计数器是否非零。
3、查看系统级统计:cat /proc/net/snmp | grep -A 1 "Tcp:",关注RetransSegs(TCP重传段数)是否持续增长。










