[Linux服务器] Linux网络故障排查

1586 0
Honkers 2025-3-8 13:45:41 来自手机 | 显示全部楼层 |阅读模式

Linux网络故障排查命令

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

  1. ping
  2. # 路由追踪
  3. traceroute
  4. # mtr命令查看在哪里丢包,相当于ping和traceroute命令的组合
  5. mtr
  6. # 实时查看网络质量
  7. mtr baidu.com
  8. # 显示mtr报告
  9. mtr -r 114.114.114.114
  10. # tcpdump抓包排查网络故障
  11. tcpdump
  12. # ss命令和netstat参数一样,格式不一样
  13. ss
  14. netstat
复制代码

查看网卡信息

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


查看网卡基本信息

网卡速率等信息

  1. # 查看网卡基本信息
  2. ethtool eth0
复制代码


查看网卡驱动

  1. # 查看网卡驱动
  2. ethtool -i eth0
复制代码


查看网卡的错误包(丢包分析)

  1. 首先是根据ifconfig确认有丢包的情况
  2. 然后确认丢包类型
  1. # 确认丢包类型
  2. ## -S 选项用于显示指定网络接口的统计信息
  3. ethtool -S eth0 | grep errors
复制代码

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

ping

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

  1. # 发送指定数量的包
  2. ## -c 指定发送包 数量
  3. ## ping10次就会停止
  4. ping aliyun.com -c 10
  5. # 指定网卡ping
  6. ## -i 指定网卡
  7. ping -i eth0 aliyun.com
  8. # 指定包大小,判断时延更准确
  9. ## -s 指定包大小
  10. ping -s 512 aliyun.com
复制代码

traceroute

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


Centos7安装traceroute

  1. # 安装traceroute
  2. yum install traceroute -y
复制代码

不解析域名traceroute -n

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

  1. # -n 不解析域名
  2. traceroute -n aliyun.com
复制代码

指定网卡接口traceroute -i

  1. # -i 指定网卡接口
  2. traceroute -n -i eth0 aliyun.com
复制代码

tracepath

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

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

  1. # 查看每条路径的延迟
复制代码


nexttrace

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


nslookup

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


telnet端口测试

telnet建立三次握手不发数据

  1. # telnet ip或域名 端口号
  2. telnet aliyun.com 80
  3. [cesu-c8 root ~]# telnet aliyun.com 80
  4. Trying 106.11.172.9...
  5. Connected to aliyun.com.
  6. Escape character is '^]'.
复制代码

tcping测试tcp端口

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


BestTrace路由分析:

BestTrace查看VPS的去程和回程


安装BestTrace包

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

besttrace基本用法

  1. # 必须以root运行
  2. ## 追踪ip或域名
  3. besttrace 114.114.114.114
复制代码


iftop(查看网卡流量状态)

需要epel源

  1. # 启用epel
  2. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  3. # 安装iftop
  4. yum install iftop -y
复制代码

查看哪个连接占用流量最多

  1. # 查看eth0哪个连接网络流量最多
  2. iftop -P
复制代码


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

  1. # 不解析域名
  2. iftop -n
复制代码


指定监控网卡

  1. # 不加i参数表示监控所有网卡
  2. iftop
  3. # 指定网卡
  4. iftop -i eth0
  5. # 指定网卡且不解析dns
  6. iftop -n -i eth0
复制代码

ss命令常见方法

  1. ss -ntpl
  2. # -n参数:看到的时端口而不是服务名称
  3. # -t参数:只列出TCP
  4. # -l参数: 列出当前正在监听的套接字,而不是列出所有套接字
复制代码


端口查找


lsof

  1. #
  2. lsof -i:22
复制代码

  1. lsof -i udp:514
复制代码


netstat

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


查询端口使用情况

  1. # netstat -ano
  2. ## -a或--all:显示所有连线中的Socket
  3. ## -n 直接使用IP地址,不通过域名服务器
  4. ## -o或--timers:显示计时器
  5. netstat -ano | grep 3306
  6. # -tunlp(最常用)
  7. ## -t 显示TCP传输协议的连线状况
  8. ## -u 显示UDP传输协议的连线状况
  9. ## -n 直接使用IP地址,不通过域名服务器
  10. ## -l 仅列出在监听的服务状态
  11. ## -p 显示正在使用Socket的程序识别码和程序名称
  12. netstat -tunlp | grep 1080
  13. # 只列出监听中的连接
  14. ## -t 显示TCP传输协议的连线状况
  15. ## -n 直接使用IP地址,不通过域名服务器
  16. ## -l 仅列出在监听的服务状态
  17. netstat -tnl |grep 端口
复制代码


sar命令统计网卡流量

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


显示结果主要字段说明

  1. IFACE:网络接口名称。
  2. rxpck/s、txpck/s:每秒收或发的数据包数量。
  3. rxkB/s、txkB/s:每秒收或发的字节数,以kB/s为单位。
  4. rxcmp/s、txcmp/s:每秒收或发的压缩过的数据包数量。
  5. rxmcst/s:每秒收到的多播数据包。
复制代码

sar示例

  1. # sar -n DEV 间隔时间(s) 统计次数
  2. sar -n DEV 1 5
复制代码


strace 跟踪进程中的系统调用

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行