Linux网络故障?命令行秒解秘籍!

基础连通性测试

ping

ping -c 4 example.com  # 发送4个ICMP包测试连通性
  • 关键输出
    64 bytes from...(收到响应)
    packet loss(丢包率)
    time=20.3 ms(延迟)
  • 中断Ctrl+C

traceroute

traceroute example.com  # 追踪数据包路径
tracepath example.com   # 无需root权限的替代工具
  • 作用:显示数据包经过的每一跳(路由器)及延迟,定位网络阻塞点。

网络接口与配置

ip addr / ifconfig

ip addr show           # 查看所有接口IP、MAC地址(推荐)
ifconfig               # 传统工具(部分系统需安装)
  • 关键信息
    inet 192.168.1.10(IPv4地址)
    state UP(接口启用)
    MTU 1500(最大传输单元)

网卡状态与速率

ethtool eth0           # 查看物理网卡状态
  • 关注项Speed: 1000Mb/s(速率)、Link detected: yes(连接正常)。

连接与端口诊断

ss (推荐) / netstat

ss -tunlp              # 查看所有监听/建立的连接
  • 参数解析
    -t:TCP连接
    -u:UDP连接
    -n:显示数字地址
    -l:监听中的端口
    -p:显示进程名
  • 输出示例
    LISTEN 0:80 *:* users:(("nginx",pid=123))(Nginx监听80端口)

测试端口连通性

nc -zv example.com 443 # 检查远程端口是否开放
telnet example.com 80  # 测试TCP连接(未安装nc时使用)

DNS解析检查

dig / nslookup

dig example.com        # 输出详细DNS解析过程
nslookup example.com   # 交互式查询
  • 关键字段ANSWER SECTION(解析结果)、SERVER: 8.8.8.8(使用的DNS服务器)。

高级诊断工具

mtr(实时路径分析)

mtr -rw example.com    # 结合ping+traceroute实时监控
  • 输出:每跳的丢包率和延迟,按q退出。

tcpdump(抓包分析)

sudo tcpdump -i eth0 port 80  # 捕获eth0接口的80端口流量
  • 过滤技巧
    host 8.8.8.8(特定IP)
    -w file.pcap(保存为Wireshark兼容文件)

网络服务测试

curl(HTTP/API检测)

curl -I https://example.com  # 仅显示响应头(检查HTTP状态)
curl -v http://example.com   # 输出详细请求/响应过程
  • 关键响应HTTP/2 200(状态码)、Server: nginx(服务器类型)。

场景化排查指南

问题类型 推荐命令
无法上网 ping 8.8.8.8ip route
网站无法访问 curl -v URLdig URL
本地服务未响应 ss -tlp | grep :80sudo tcpdump port 80
延迟高/丢包 mtr目标IPethtool 网卡名

  • 快速检查流程
    pingip addrssdigcurl
  • 关键原则
    1. 从本地到远程逐层排查
    2. 先检查物理连接(ethtool),再分析协议层(tcpdump
    3. 善用-h查看帮助(如ss -h

引用说明基于Linux man手册(v5.15)及网络工程最佳实践,权威参考包括:

  • Linux Foundation Networking Guides
  • man命令(如man ping
  • Wireshark官方抓包分析文档

通过掌握这些命令,您将能独立解决90%的Linux网络问题,建议在测试环境实操验证,避免生产环境误操作。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4677.html

(0)
酷番叔酷番叔
上一篇 2025年6月16日 17:21
下一篇 2025年6月16日 17:52

相关推荐

  • Linux系统里如何准确快速查看U盘的具体设备位置信息?

    在Linux系统中,U盘作为可移动存储设备,通常会被系统识别为块设备,要查看U盘的具体位置(即设备路径),可以通过多种命令实现,这些方法从基础到进阶,适用于不同场景和用户需求,以下将详细介绍几种常用方法,帮助用户准确找到U盘的设备名及挂载信息,基础命令查看:lsblklsblk(list block devic……

    2025年10月9日
    11700
  • Linux中如何创建软连接?

    在Linux系统中,软连接(符号链接)是一种特殊的文件类型,它类似于Windows系统中的快捷方式,指向另一个文件或目录的路径,软连接可以独立于源文件存在,即使源文件被移动或删除,软连接本身仍存在(但会失效),创建软连接的主要目的是方便访问、节省存储空间(特别是跨文件系统时)或管理分散的文件,本文将详细介绍在L……

    2025年10月4日
    8800
  • 多系统U盘如何制作Linux启动盘?

    制作多系统U盘(尤其是包含多个Linux发行版)的核心在于通过引导工具实现ISO镜像的动态加载,避免反复格式化U盘,同时支持UEFI和Legacy BIOS双启动模式,以下是详细步骤及注意事项,需准备容量≥16GB的U盘、各系统ISO镜像文件(如Ubuntu、Fedora、Arch Linux等)及专用工具,准……

    2025年9月9日
    10500
  • Linux下如何彻底卸载gcc编译器?

    在Linux系统中,GCC(GNU Compiler Collection)是广泛使用的编译器套件,用于将C、C++、Objective-C等源代码编译为可执行程序,由于版本冲突、空间清理或重新安装需求,用户可能需要删除系统中的GCC,删除GCC的方法因Linux发行版不同而有所差异,本文将详细介绍不同场景下的……

    2025年10月3日
    8900
  • Linux如何覆盖文件?

    在Linux系统中,覆盖文件是指将新文件内容替换目标文件内容的过程,常见于数据更新、配置修改等场景,掌握文件覆盖的正确方法不仅能提高效率,还能避免数据丢失风险,本文将详细介绍Linux中覆盖文件的多种方式、注意事项及安全实践,Linux文件覆盖的基本概念文件覆盖与“追加”“替换”不同:覆盖会完全清空目标文件原有……

    2025年9月10日
    10800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信