Linux网络故障排查 您所在的位置:网站首页 linux网络中断日志 Linux网络故障排查

Linux网络故障排查

2023-08-30 00:15| 来源: 网络整理| 查看: 265

Linux网络故障排查 Linux网络故障排查命令查看网卡信息查看网卡基本信息查看网卡驱动查看网卡的错误包(丢包分析) pingtracerouteCentos7安装traceroute不解析域名traceroute -n指定网卡接口traceroute -i tracepathnexttracenslookuptelnet端口测试tcping测试tcp端口BestTrace路由分析:安装BestTrace包besttrace基本用法 iftop(查看网卡流量状态)查看哪个连接占用流量最多不解析域名,所有的网络连接都以ip显示指定监控网卡 ss命令常见方法端口查找lsofnetstat查询端口使用情况 sar命令统计网卡流量显示结果主要字段说明sar示例 strace 跟踪进程中的系统调用

Linux网络故障排查命令

经常使用 tcpdump、gdb、 strace等系统工具分析较复杂问题

ping # 路由追踪 traceroute # mtr命令查看在哪里丢包,相当于ping和traceroute命令的组合 mtr # 实时查看网络质量 mtr baidu.com # 显示mtr报告 mtr -r 114.114.114.114 # tcpdump抓包排查网络故障 tcpdump # ss命令和netstat参数一样,格式不一样 ss netstat

在这里插入图片描述

查看网卡信息

例如: 要查看你的网卡的速率 ethtool参数非常多,需要自己扩展了解

查看网卡基本信息

网卡速率等信息

# 查看网卡基本信息 ethtool eth0

在这里插入图片描述

查看网卡驱动 # 查看网卡驱动 ethtool -i eth0

在这里插入图片描述

查看网卡的错误包(丢包分析) 首先是根据ifconfig确认有丢包的情况然后确认丢包类型 # 确认丢包类型 ## -S 选项用于显示指定网络接口的统计信息 ethtool -S eth0 | grep errors

在这里插入图片描述

然后再根据丢包类型继续往下分析 ping

https://blog.csdn.net/omaidb/article/details/116096205

# 发送指定数量的包 ## -c 指定发送包 数量 ## ping10次就会停止 ping aliyun.com -c 10 # 指定网卡ping ## -i 指定网卡 ping -i eth0 aliyun.com # 指定包大小,判断时延更准确 ## -s 指定包大小 ping -s 512 aliyun.com traceroute

https://www.linuxcool.com/traceroute https://wangchujiang.com/linux-command/c/traceroute.html

Centos7安装traceroute # 安装traceroute yum install traceroute -y 不解析域名traceroute -n

不解析ip的域名,速度会更快

# -n 不解析域名 traceroute -n aliyun.com 指定网卡接口traceroute -i # -i 指定网卡接口 traceroute -n -i eth0 aliyun.com tracepath

路径探测跟踪。 tracepath命令用于跟踪数据包在网络中的路径,类似于traceroute命令。它可以帮助你确定从源主机到目标主机之间的网络路径,以及在该路径上的每个跃点的延迟。

常用的tracepath命令选项: -n:禁用反向DNS查找,以避免解析IP地址为主机名。 -b:使用较大的数据包进行跟踪。 -p :指定跟踪所使用的端口号。 -q :设置要跟踪的跃点数。 -m :设置最大跃点数,超过该跃点数将停止跟踪。

# 查看每条路径的延迟

在这里插入图片描述

nexttrace

项目地址:https://github.com/nxtrace/Ntrace-core

在这里插入图片描述

nslookup

https://blog.csdn.net/omaidb/article/details/128832938

telnet端口测试

telnet建立三次握手不发数据

# telnet ip或域名 端口号 telnet aliyun.com 80 [cesu-c8 root ~]# telnet aliyun.com 80 Trying 106.11.172.9... Connected to aliyun.com. Escape character is '^]'. tcping测试tcp端口

https://blog.csdn.net/omaidb/article/details/120120730

BestTrace路由分析:

BestTrace查看VPS的去程和回程

安装BestTrace包 # 下载BestTrace包 wget https://cdn.ipip.net/17mon/besttrace4linux.zip # 只解压指定文件besttrace ## “指定解压的文件名” ## -d 解压到指定目录 unzip besttrace4linux.zip "besttrace" -d /usr/local/bin/ # 赋予执行权限 chmod a+x /usr/local/bin/besttrace # 查看是否安装成功 which besttrace

besttrace基本用法 # 必须以root运行 ## 追踪ip或域名 besttrace 114.114.114.114

在这里插入图片描述

iftop(查看网卡流量状态)

需要epel源

# 启用epel wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 安装iftop yum install iftop -y 查看哪个连接占用流量最多 # 查看eth0哪个连接网络流量最多 iftop -P

在这里插入图片描述

不解析域名,所有的网络连接都以ip显示 # 不解析域名 iftop -n

在这里插入图片描述

指定监控网卡 # 不加i参数表示监控所有网卡 iftop # 指定网卡 iftop -i eth0 # 指定网卡且不解析dns iftop -n -i eth0 ss命令常见方法 ss -ntpl # -n参数:看到的时端口而不是服务名称 # -t参数:只列出TCP # -l参数: 列出当前正在监听的套接字,而不是列出所有套接字

在这里插入图片描述

端口查找 lsof # lsof -i:22

在这里插入图片描述

lsof -i udp:514

在这里插入图片描述

netstat

https://blog.csdn.net/omaidb/article/details/120617942 在这里插入图片描述

查询端口使用情况 # netstat -ano ## -a或--all:显示所有连线中的Socket ## -n 直接使用IP地址,不通过域名服务器 ## -o或--timers:显示计时器 netstat -ano | grep 3306 # -tunlp(最常用) ## -t 显示TCP传输协议的连线状况 ## -u 显示UDP传输协议的连线状况 ## -n 直接使用IP地址,不通过域名服务器 ## -l 仅列出在监听的服务状态 ## -p 显示正在使用Socket的程序识别码和程序名称 netstat -tunlp | grep 1080 # 只列出监听中的连接 ## -t 显示TCP传输协议的连线状况 ## -n 直接使用IP地址,不通过域名服务器 ## -l 仅列出在监听的服务状态 netstat -tnl |grep 端口

在这里插入图片描述

sar命令统计网卡流量

使用sar每1秒统计一次网络接口的活动状况,连续显示5次。

显示结果主要字段说明 IFACE:网络接口名称。 rxpck/s、txpck/s:每秒收或发的数据包数量。 rxkB/s、txkB/s:每秒收或发的字节数,以kB/s为单位。 rxcmp/s、txcmp/s:每秒收或发的压缩过的数据包数量。 rxmcst/s:每秒收到的多播数据包。 sar示例 # sar -n DEV 间隔时间(s) 统计次数 sar -n DEV 1 5

在这里插入图片描述

strace 跟踪进程中的系统调用

https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/strace.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有