【Linux基础知识系列】第二十九篇-基本的网络命令(ping, traceroute, netstat)

在Linux系统中,网络诊断是系统管理员和用户日常工作中不可或缺的一部分。无论是排查网络连接问题、检查网络延迟,还是监控网络状态,掌握一些基本的网络命令至关重要。本文将详细介绍pingtraceroutenetstat这三种常用的网络命令,帮助读者快速掌握网络诊断的基本技能。

核心概念

1. ping

ping是用于测试主机之间网络连接是否正常的一个非常常用的工具。它通过发送ICMP(Internet Control Message Protocol)回显请求消息来检查目标主机是否可达。

2. traceroute

traceroute用于显示数据包到达目标主机所经过的路径,即跳数或路由器。它利用UDP或ICMP协议,逐步增加TTL(Time to Live)值来追踪每一跳的路由信息,帮助诊断网络路径中的问题。

3. netstat

netstat是一个用于显示网络连接、路由表、接口统计信息等网络相关信息的工具。它可以帮助用户了解系统的网络状态,如开放的端口、网络连接等。不过,随着ss命令的出现,netstat的功能在某些系统中已经被ss取代,但netstat依然是一个非常实用的工具。

命令与示例

1. 使用ping命令

基本用法

向目标主机发送ICMP回显请求:

ping -c 4 www.example.com
  • -c 4:发送4次ICMP请求。

示例输出

PING www.example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=24.3 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=24.2 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=24.1 ms
64 bytes from 93.184.216.34: icmp_seq=4 ttl=56 time=24.0 ms--- www.example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 24.000/24.150/24.300/0.150 ms
连续ping

如果不指定-c选项,ping将连续发送ICMP请求,直到用户手动终止(通常使用Ctrl + C):

ping www.example.com

2. 使用traceroute命令

基本用法

显示到达目标主机的路径:

traceroute www.example.com

示例输出

traceroute to www.example.com (93.184.216.34), 30 hops max, 60 byte packets1  router1.local (192.168.1.1)  1.234 ms  1.234 ms  1.234 ms2  isp1.router (10.0.0.1)  5.678 ms  5.678 ms  5.678 ms3  isp2.router (10.0.0.2)  10.123 ms  10.123 ms  10.123 ms
...
指定最大跳数

限制traceroute的最大跳数:

traceroute -m 10 www.example.com
  • -m 10:限制最大跳数为10。

3. 使用netstat命令

查看网络连接

显示当前的网络连接:

netstat -an
  • -a:显示所有选项,默认不显示LISTEN相关。

  • -n:不解析地址和端口名称,直接显示IP地址和端口号。

示例输出

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.100:22        192.168.1.1:56789       ESTABLISHED
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
查看监听端口

仅显示监听状态的端口:

netstat -tuln
  • -t:仅显示TCP端口。

  • -u:仅显示UDP端口。

  • -l:仅显示监听状态的端口。

  • -n:不解析地址和端口名称。

示例输出

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*                          

常见问题

1. 如何检查网络延迟?

可以使用ping命令检查网络延迟:

ping -c 4 www.example.com

通过查看time字段可以了解每次请求的往返时间(RTT)。

2. 如何确定网络路径中的问题?

使用traceroute命令可以显示到达目标主机的路径,帮助确定网络路径中的问题:

traceroute www.example.com

如果某跳显示* * *,可能表示该跳的网络延迟过高或网络不可达。

3. 如何查看开放的端口?

使用netstat命令查看系统中开放的端口:

netstat -tuln

通过查看Local AddressForeign Address可以了解开放的端口和对应的连接状态。

4. 如何确定某个端口是否被占用?

可以使用netstat命令检查某个端口是否被占用:

netstat -tuln | grep :80

如果输出中有LISTEN状态的条目,说明该端口已被占用。

5. 如何解决网络连接问题?

  • 使用ping命令检查网络连通性ping -c 4 www.example.com

  • 使用traceroute检查网络路径traceroute www.example.com

  • 检查端口是否开放netstat -tuln | grep :<port>

  • 检查防火墙设置:确保目标端口没有被防火墙阻止。

实践建议

1. 定期检查网络状态

定期使用pingtraceroutenetstat检查网络状态,及时发现并解决潜在问题。

2. 使用ping检查网络延迟

在进行网络优化或排查网络问题时,使用ping命令检查网络延迟,了解网络的实时状况。

3. 使用traceroute诊断网络路径问题

当遇到网络连接问题时,使用traceroute命令诊断数据包传输路径,定位问题节点。

4. 监控开放的端口

使用netstatss命令监控系统中开放的端口,确保没有不必要的服务暴露在网络上。

5. 结合日志文件分析

在使用pingtraceroutenetstat进行网络诊断时,结合系统日志文件(如/var/log/syslog)进行分析,获取更全面的网络状态信息。

总结

本文详细介绍了pingtraceroutenetstat这三种常用的Linux网络命令。通过这些命令,用户可以快速检查网络连通性、诊断网络路径问题、监控网络状态和管理开放端口。掌握这些基本的网络命令,能够帮助用户高效地进行网络诊断和故障排除。在日常的Linux使用中,这些命令是系统管理员和网络工程师的重要工具,也是每个Linux用户应该掌握的基本技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/diannao/87214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaee初阶-多线程

1.什么是线程 1.1 进程 要了解线程我们首先需要了解什么是进程&#xff1f; 运行的程序在操作系统中以进程的方式运行&#xff0c;比如说电脑打开不同的软件&#xff0c;软件就是不同的进程 1.1.1进程的组织方式 通过双向链表 创建进程就是在双向链表上添加PCB 销毁一个进…

N数据分析pandas基础.py

前言&#xff1a;在数据分析领域&#xff0c;Python 的 Pandas 库堪称得力助手。它不仅拥有高效的数据处理能力&#xff0c;还能与 NumPy 完美配合——后者强大的数值计算功能为 Pandas 提供了坚实的技术基础。 目录 Pandas数据分析实战&#xff1a;解锁数据处理的高效之道 数…

卫星通信链路预算之二:带宽和功带平衡

在上一个章节卫星通信链路预算之一&#xff1a;信噪比分配 中&#xff0c;我们介绍了卫星通信链路中最核心的概念&#xff1a;信噪比分配&#xff0c;并给出了卫星通信链路总信噪比的计算公式。 本篇文章&#xff0c;我们将介绍卫星通信链路中的另外一个基本概念&#xff1a;带…

QGIS新手教程5:图层属性查询与表达式筛选技巧

✅ QGIS新手教程5&#xff1a;图层属性查询与表达式筛选技巧 字段筛选、表达式构建器、选择集操作一步到位&#xff01; 目录 ✅ QGIS新手教程5&#xff1a;图层属性查询与表达式筛选技巧&#x1f4c1; 一、示例数据准备&#xff08;继续使用第四篇中的示例&#xff09;&#…

用 el-dialog 做出弹出框是图片

今天项目上用到个功能是点击按钮弹出一个 modal&#xff0c;有遮罩层而且在上面显示图片。 其实就是 el-dialog 的功能&#xff0c;但是 el-dialog 弹出后&#xff0c;有标签关闭按钮还有背景。 解决办法&#xff1a;el-dialog 的 width 设为 0 就可以了。 <template>…

Gartner《Decision Point for Selecting the Right APIMediation Technology》学习心得

一、API 中介技术概述 背景&#xff0c;API 中介技术变得多样化&#xff0c;应用与集成架构师需要借助决策框架&#xff0c;从企业级 API 网关、轻量级网关、入口网关以及服务网格中挑选出适合多粒度服务和 API 的中介技术。 随着无服务器架构与容器管理系统的兴起&#xff0…

快速 SystemC 之旅(一)

快速 SystemC 之旅&#xff08;一&#xff09; 一、前言背景二、实验环境1. 安装步骤2. 验证安装 三、RTL 级硬件描述1. 初看模块2. 二输入与非门 一、前言背景 因项目需求&#xff0c;近期开始开展电子系统级设计&#xff08;ESL&#xff09;进行事务级建模&#xff08;TLM&a…

解决 Golang 下载golang.org/x包失败方案

在 Golang 开发过程中&#xff0c;不少开发者都遇到过这样的困扰&#xff1a;当试图下载golang.org相关包时&#xff0c;会出现访问失败的情况&#xff0c;尤其是golang.org/x系列包&#xff0c;作为众多第三方库依赖的核心组件&#xff0c;其无法正常下载会严重影响项目的开发…

CppCon 2016 学习:BUILDING A MODERN C++ FORGE FOR COMPUTE AND GRAPHICS

你提供的这段文字是关于 设计一个精简但足够的 C 框架来驱动 Vulkan 的目标陈述&#xff0c;属于项目文档或演讲的第一部分 “Goals”。我们可以把它逐项拆解并深入理解&#xff1a; PART (I – I): GOALS&#xff08;目标&#xff09; 总体目标&#xff1a; 构建一个最小但足…

# AI武装大脑:技术管理者如何用人工智能重构认知与决策系统

作为一位经历了15年技术管理实战的老兵&#xff0c;我见过太多项目因为决策失误、认知局限而陷入泥潭。直到我开始系统性地用AI武装大脑&#xff0c;才真正找到了突破技术管理瓶颈的利器。今天&#xff0c;我要分享的不是那些泛泛而谈的AI概念&#xff0c;而是如何用AI真正提升…

【Linux】UDP与TCP协议

目录 UDP协议 1.1通信流程 1.2函数 socket bind sendto recvfrom close 1.3实现udp通信 TCP协议 1.1TCP头部结构 1.2通信流程 三次握手 正式通信 四次挥手 1.3协议特性 面向字节流 可靠传输 序列号和确认号 重传机制 流量控制和拥塞控制 1.4常用函数 s…

gbase8s之MyBatis批量update问题

源代码 <update id"updateDynamicTableData"><foreach collection"mapList" item"map" separator";">UPDATE ${tableName} SET<foreach collection"map" item"value" index"key" separ…

博图SCL中WHILE语句的使用详解及案例

在西门子TIA Portal的SCL&#xff08;结构化控制语言&#xff09;编程中&#xff0c;WHILE循环是处理条件迭代任务的核心工具。它根据布尔表达式动态控制循环执行&#xff0c;适用于不确定循环次数的场景。下面从语法、执行流程、注意事项到实际案例全面解析。 一、WHILE循环基…

简单聊聊JVM中的几种垃圾收集算法

3.4、分代收集算法 分代收集算法&#xff0c;可以看成以上内容的延伸。它的实现思路是根据对象的生命周期的不同&#xff0c;将内存划分为几块&#xff0c;比如把堆空间划分为新生代和老年代&#xff0c;然后根据各块的特点采用最适当的收集算法。 在新生代中&#xff0c;存在…

依赖已导入,已下载,无法使用问题

明明已经导入依赖&#xff0c;却无法使用相关注解 于是&#xff0c;我使用 mvn dependency:tree -Dverbose 来查看是否有依赖冲突 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project agileboot…

答题考试系统小程序ThinkPHP+UniApp

ThinkPHPUniapp开发的小程序答题考试系统&#xff0c;支持多种试题类型、多种试题难度、练题、考试、补考模式&#xff0c;提供全部前后台无加密源代码&#xff0c;支持私有化部署. 更新日志 V1.7.1修复一些问题 解决考场成绩列表重复问题&#xff1b; 解决后台材料题选择子…

DHCP服务管理

目录 DHCP协议 DHCP的优势 DHCP的分配方式 应用场景 注意 工作流程 何时更新租约 当客户端重启后 客户端类型 DCHP安装与配置 网络规划&#xff1a; 配置 DHCP 作用域 启动 DHCP 服务 配置路由器 配置路由器网卡 IP 开启 IP 转发&#xff08;确保跨网段通信&…

12.UDP客户端

准备工作 硬件准备&#xff1a;确保你的STM32板子已经正确连接了DP83848网络芯片。 软件设置&#xff1a; 安装好STM32CubeMX用于配置工程。 选择合适的STM32 HAL库版本。 如果可能的话&#xff0c;安装LwIP库支持TCP/IP协议栈。 步骤 1. 使用STM32CubeMX配置项目 打开…

希尔脚本简介及常用命令代码整理

一、Shell 脚本简介 1. 定义 Shell 是用户与操作系统内核交互的桥梁&#xff0c;常见类型有 Bash、Zsh、PowerShell 等。Shell 脚本则是一系列 Shell 命令的集合&#xff0c;通常保存为后缀为.sh 的文本文件。 2. 作用 类别描述自动化重复性任务例如定期备份数据、执行定时…

【人工智能下的智算网络】广域网优化

一、广域网络多路径I/O写的并行路径优化方案 1.1、数学建模 网络拓扑优化​ 1. ​拓扑抽象与路径发现​ ​邻接矩阵建模​&#xff1a; 将网络节点抽象为图顶点 G (V, E)&#xff0c;链路带宽与延迟定义为边权 w(e)。构造邻接矩阵 A&#xff0c;其中元素 A_{ij} 表示节点 …