ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux网络故障排查

Linux网络故障排查 Linux网络故障排查Linux网络故障排查命令查看网卡信息查看网卡基本信息查看网卡驱动查看网卡的错误包(丢包分析)pingtracerouteCentos7安装traceroute不解析域名traceroute -n指定网卡接口traceroute -itracepathnexttracenslookuptelnet端口测试tcping测试tcp端口BestTrace路由分析安装BestTrace包besttrace基本用法iftop(查看网卡流量状态)查看哪个连接占用流量最多不解析域名,所有的网络连接都以ip显示指定监控网卡ss命令常见方法端口查找lsofnetstat查询端口使用情况sar命令统计网卡流量显示结果主要字段说明sar示例strace 跟踪进程中的系统调用Windows常用的网络排查工具Linux网络故障排查命令经常使用tcpdump、gdb、strace等系统工具分析较复杂问题ping# 路由追踪traceroute# mtr命令查看在哪里丢包,相当于ping和traceroute命令的组合mtr# 实时查看网络质量mtrbaidu.com# 显示mtr报告mtr-r114.114.114.114# tcpdump抓包排查网络故障tcpdump# ss命令和netstat参数一样格式不一样ssnetstat查看网卡信息例如: 要查看你的网卡的速率ethtool参数非常多,需要自己扩展了解查看网卡基本信息网卡速率等信息# 查看网卡基本信息ethtooleth0查看网卡驱动# 查看网卡驱动ethtool-ieth0查看网卡的错误包(丢包分析)首先是根据ifconfig确认有丢包的情况然后确认丢包类型# 确认丢包类型## -S 选项用于显示指定网络接口的统计信息ethtool-Seth0|greperrors然后再根据丢包类型继续往下分析pinghttps://blog.csdn.net/omaidb/article/details/116096205# 发送指定数量的包## -c 指定发送包 数量## ping10次就会停止pingaliyun.com-c10# 指定网卡ping## -i 指定网卡ping-ieth0 aliyun.com# 指定包大小,判断时延更准确## -s 指定包大小ping-s512aliyun.comtraceroutehttps://www.linuxcool.com/traceroutehttps://wangchujiang.com/linux-command/c/traceroute.html# 验证端到端 TCP 路径## -T tcpsync## -p 指定端口traceroute-T-p3007172.18.234.130Centos7安装traceroute# 安装tracerouteyuminstalltraceroute-y不解析域名traceroute -n不解析ip的域名,速度会更快# -n 不解析域名traceroute-naliyun.com指定网卡接口traceroute -i# -i 指定网卡接口traceroute-n-ieth0 aliyun.comtracepath路径探测跟踪。tracepath命令用于跟踪数据包在网络中的路径类似于traceroute命令。它可以帮助你确定从源主机到目标主机之间的网络路径以及在该路径上的每个跃点的延迟。常用的tracepath命令选项-n禁用反向DNS查找以避免解析IP地址为主机名。-b使用较大的数据包进行跟踪。-p端口号指定跟踪所使用的端口号。-q跃点数设置要跟踪的跃点数。-m跃点数设置最大跃点数超过该跃点数将停止跟踪。# 查看每条路径的延迟nexttrace项目地址https://github.com/nxtrace/Ntrace-corenslookuphttps://blog.csdn.net/omaidb/article/details/128832938telnet端口测试telnet建立三次握手不发数据# telnet ip或域名 端口号telnet aliyun.com80[cesu-c8 root ~]# telnet aliyun.com 80Trying106.11.172.9... Connected to aliyun.com. Escape character is^].tcping测试tcp端口https://blog.csdn.net/omaidb/article/details/120120730BestTrace路由分析BestTrace查看VPS的去程和回程安装BestTrace包# 下载BestTrace包wgethttps://cdn.ipip.net/17mon/besttrace4linux.zip# 只解压指定文件besttrace## “指定解压的文件名”## -d 解压到指定目录unzipbesttrace4linux.zipbesttrace-d/usr/local/bin/# 赋予执行权限chmodax /usr/local/bin/besttrace# 查看是否安装成功whichbesttracebr.besttrace基本用法# 必须以root运行## 追踪ip或域名besttrace114.114.114.114iftop(查看网卡流量状态)需要epel源# 启用epelwget-O/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 安装iftopyuminstalliftop-y查看哪个连接占用流量最多# 查看eth0哪个连接网络流量最多iftop-P不解析域名,所有的网络连接都以ip显示# 不解析域名iftop-n指定监控网卡# 不加i参数表示监控所有网卡iftop# 指定网卡iftop-ieth0# 指定网卡且不解析dnsiftop-n-ieth0ss命令常见方法ss-ntpl# -n参数:看到的时端口而不是服务名称# -t参数:只列出TCP# -l参数: 列出当前正在监听的套接字,而不是列出所有套接字端口查找lsof#lsof-i:22lsof-iudp:514netstathttps://blog.csdn.net/omaidb/article/details/120617942查询端口使用情况# netstat -ano## -a或--all显示所有连线中的Socket## -n 直接使用IP地址不通过域名服务器## -o或--timers显示计时器netstat-ano|grep3306# -tunlp(最常用)## -t 显示TCP传输协议的连线状况## -u 显示UDP传输协议的连线状况## -n 直接使用IP地址不通过域名服务器## -l 仅列出在监听的服务状态## -p 显示正在使用Socket的程序识别码和程序名称netstat-tunlp|grep1080# 只列出监听中的连接## -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-nDEV15strace 跟踪进程中的系统调用https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/strace.htmlWindows常用的网络排查工具https://www.cnblogs.com/lsgxeva/p/11589575.html
返回列表