网络问题解决思路,Linux 知识点,测试丢包率,抓包及分析

近期接触的项目涉及到语音传输,经常遇到信令传输的异常,或通话网络不稳定,需要抓包分析原因,故接触到这一块知识。


ping 简单的连通测试

ping 45.32.79.140 -c1000 -s1024 -i0.5
  • -c 次数
  • -s 数据包大小(返回会加8个字节)
  • -i 发包的间隔(秒)

更多参数请前往:


mtr 诊断网络路由连通性

mtr 45.32.79.140 -r -s1000 -c100

mtr 不是系统自带的,首次使用需要先安装,yum install mtr

  • -r 输出结果,不加该参数会实时动态显示结果,但结束时会自动退出,导致看不到最终结果
  • -c 次数
  • -s 数据包大小

mtr 能列出数据包经过的每一个路由节点,有助于我们找到问题出在哪里

结果(例):

Start: Mon Jul  6 11:45:39 2020
HOST: VM_78_12_centos             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.132.52.129             17.0%   100    2.0   1.9   1.6   2.9   0.1
  2.|-- 10.148.245.208             0.0%   100    1.3   1.4   1.1   4.2   0.3
  3.|-- 10.196.17.13               9.0%   100    1.4   1.3   1.0   2.3   0.1
  4.|-- 10.162.33.1                0.0%   100    1.8   2.5   1.8  17.0   2.4
  5.|-- 10.162.32.149              0.0%   100    1.7   1.7   1.5   2.0   0.0
  6.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  7.|-- 113.96.8.193               0.0%   100    6.8   6.5   2.4  28.0   3.6
  8.|-- 113.96.0.102               0.0%   100    4.6   6.5   2.5  12.0   2.1
  9.|-- 202.97.94.126             58.0%   100    4.6   4.7   4.2  10.9   1.0
 10.|-- 202.97.94.106              0.0%   100    4.9   5.1   4.8  14.7   1.3
 11.|-- 202.97.72.102             24.0%   100  175.6 175.6 171.4 179.3   2.2
 12.|-- 202.97.92.37               5.0%   100  174.0 170.6 166.3 175.0   2.3
 13.|-- 218.30.53.109              5.0%   100  173.0 170.7 162.1 179.1   1.8
 14.|-- 129.250.207.190            0.0%   100  158.6 161.9 158.6 188.9   6.1
 15.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
 16.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
 17.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
 18.|-- 45.32.79.140               3.0%   100  168.3 164.9 160.0 168.7   3.6
  • 第一列:HOST:IP地址和本机域名
  • 第二列:Loss%:丢包率
  • 第三列:Snt:数据包计数
  • 第四列:Last:最后一个包的延时
  • 第五列:Avg:平均延时
  • 第六列:Best:最低延时
  • 第七列:Wrst:最高延时
  • 第八列:StDev:方差(稳定性)
  • ??? 表示该轨迹不可见,其本身也是不会降低跳数限制的设备,所以无视即可
  • 如果某一跳丢包率不为0%但一跳或若干跳后丢包率又变回0%,说明这些非0%的路由很可能被人为限制了,但不影响传输

当网络情况不佳时,mtr 结果分析过程是一个经验活,我看到一篇相当详细的分析经验总结,里面有大量截图,推荐阅读


tcpdump 抓包

tcpdump ip host 10.210.0.69 -iem2 -c1000 -w ./target.cap
tcpdump ip host 10.210.0.69 and 10.210.0.2 -iem2 -c1000 -w ./target.cap
tcpdump src host 10.210.0.69 -iem2 -c1000 -w ./target.cap
tcpdump dst host 10.210.0.69 -iem2 -c1000 -w ./target.cap

mtr 不是系统自带的,首次使用需要先安装,yum install tcpdump

  • src 表示源地址,dst 表示目的地址,ip 表示源地址或目的地址,后跟 host 再跟 要筛选的ip地址
  • -i 端口过滤,双网卡注意,过滤只能选一个端口,而默认情况下是过滤第一个端口,所以选择第二个端口的话就必须定义 -i 参数
  • -c 抓包个数,抓到指定数量的包就会自动停止
  • -w 把抓包记录写入文件(需要传回本地用 wireshark 分析)

更多参数请前往:

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏