【Linux】Linux中的网络诊断工具:Ping、Traceroute与Netstat

在Linux系统中,网络诊断工具是用于检测和分析网络问题的重要工具。Ping、Traceroute和Netstat是三种常用的网络诊断工具。本文将详细介绍这些工具的原理、使用方法和示例代码。


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

在这里插入图片描述

一、Ping

1.1 Ping简介

Ping(Packet Internet Groper)是一个简单的网络诊断工具,用于测试主机之间的网络连通性。它通过发送ICMP(Internet Control Message Protocol)回显请求数据包,并等待回显应答数据包,以确定目标主机是否可达以及网络延迟情况。

1.2 使用Ping命令

Ping命令的基本语法如下:

ping [选项] <目标主机>

常用选项包括:

  • -c:指定发送的ICMP请求包数量。
  • -i:指定发送每个请求包之间的间隔时间。
  • -s:指定发送的ICMP请求包的大小。

1.3 示例:Ping命令

以下是使用Ping命令的示例:

  1. 测试与google.com的连通性:
ping google.com
  1. 发送4个ICMP请求包:
ping -c 4 google.com
  1. 发送大小为100字节的ICMP请求包:
ping -s 100 google.com

输出示例:

PING google.com (172.217.11.46): 56 data bytes
64 bytes from 172.217.11.46: icmp_seq=0 ttl=54 time=10.123 ms
64 bytes from 172.217.11.46: icmp_seq=1 ttl=54 time=10.345 ms
64 bytes from 172.217.11.46: icmp_seq=2 ttl=54 time=10.567 ms
64 bytes from 172.217.11.46: icmp_seq=3 ttl=54 time=10.789 ms

--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 10.123/10.456/10.789/0.234 ms

二、Traceroute

2.1 Traceroute简介

Traceroute是一个用于追踪网络路径的工具,它可以显示从本地主机到目标主机之间经过的每一个路由器(跳)的IP地址和响应时间。Traceroute通过发送带有不同TTL(Time To Live)值的ICMP数据包来实现这一功能。

2.2 使用Traceroute命令

Traceroute命令的基本语法如下:

traceroute [选项] <目标主机>

常用选项包括:

  • -m:指定最大跳数。
  • -q:指定每个TTL值发送的探测包数量。
  • -w:指定等待每个响应的时间。

2.3 示例:Traceroute命令

以下是使用Traceroute命令的示例:

  1. 追踪到google.com的网络路径:
traceroute google.com
  1. 指定最大跳数为10:
traceroute -m 10 google.com
  1. 每个TTL值发送2个探测包:
traceroute -q 2 google.com

输出示例:

traceroute to google.com (172.217.11.46), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.345 ms
 2  10.0.0.1 (10.0.0.1)  2.567 ms  2.789 ms
 3  172.16.0.1 (172.16.0.1)  3.123 ms  3.345 ms
 4  172.217.11.46 (172.217.11.46)  10.123 ms  10.345 ms

三、Netstat

3.1 Netstat简介

Netstat(Network Statistics)是一个用于显示网络连接、路由表、接口统计信息等的工具。它可以帮助用户了解当前系统的网络状态和活动。

3.2 使用Netstat命令

Netstat命令的基本语法如下:

netstat [选项]

常用选项包括:

  • -a:显示所有连接和监听端口。
  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -n:以数字格式显示地址和端口。
  • -p:显示每个连接的进程ID和进程名称。

3.3 示例:Netstat命令

以下是使用Netstat命令的示例:

  1. 显示所有连接和监听端口:
netstat -a
  1. 显示所有TCP连接:
netstat -t
  1. 显示所有UDP连接:
netstat -u
  1. 以数字格式显示地址和端口:
netstat -n
  1. 显示每个连接的进程ID和进程名称:
sudo netstat -p

输出示例:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp        0      0 192.168.1.100:54321     172.217.11.46:80        ESTABLISHED 5678/firefox
udp        0      0 0.0.0.0:123             0.0.0.0:*                           910/ntpd

四、总结

通过本文的介绍和示例代码,我们可以看到如何在Linux系统中使用Ping、Traceroute和Netstat进行网络诊断。Ping用于测试主机之间的连通性,Traceroute用于追踪网络路径,Netstat用于显示网络连接和统计信息。这些工具可以帮助用户了解网络状态,排查网络问题。希望本文能为你在Linux系统中进行网络诊断提供一些有用的指导和参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'mAlex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值