Bootstrap

Linux网络-ping&telnet

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件,或者请求对方接口。

主要从以下几个方面来介绍:

1.给Linux服务器配置IP

2.探测对方网络连通性(ping & telnet)

3.下载对方文件(wget)

4.请求对方服务器(curl)

5.检查本地服务状态(netstat)

6.检查本地服务状态(ss)

7.网络小结

介绍这2个命令之前,首先大概介绍下在网络里面的几个协议:

  1. TCP (Transmission Control Protocol):

    • 面向连接的传输层协议

    • 提供可靠的数据传输,能够检测和重传丢失的数据包

    • 广泛应用于 Web 浏览、电子邮件、文件传输等需要可靠传输的应用

  2. ICMP (Internet Control Message Protocol):

    • 网络层协议,用于发送网络故障信息和查询报文

    • PING 命令就是基于 ICMP 协议实现的

    • 主要用于网络故障诊断和测试

  3. UDP (User Datagram Protocol):

    • 面向无连接的传输层协议

    • 不提供可靠性保证,数据可能会丢失或乱序

    • 适用于对实时性要求比较高的应用,如 DNS、视频流媒体等

PING

ping命令是网络诊断工具中最基础和常用的命令之一。它用于检查两台主机之间的网络连通性,并测量数据包的往返时间 (Round-Trip Time, RTT)。

ping命令的基本用法如下:

ping <目标主机IP或域名>

常见的 ping 命令选项包括:

  • -c <数量>: 指定发送数据包的数量,默认是无限发送(Windowns是发送4个)。

  • -i <秒数>: 设置发送数据包的时间间隔,默认是 1 秒。

  • -W <秒数>: 设置等待响应的超时时间,默认是 10 秒。

  • -s <字节数>: 指定发送数据包的大小,默认是 56 字节。

ping 命令的输出信息包括:

  • 丢包率: 发送的数据包中有多少没有收到响应。

  • 最小/平均/最大 RTT: 数据包的最小、平均和最大往返时间。

  • 标准差: RTT 的标准差,反映了网络时延的稳定性。

通过 ping 命令,我们可以快速判断目标主机是否可达,以及网络的延迟和稳定性。这对于网络故障排查和性能监控非常有帮助。

[root@localhost ~]# ping 192.168.179.105PING 192.168.179.105 (192.168.179.105) 56(84) bytes of data.64 bytes from 192.168.179.105: icmp_seq=1 ttl=64 time=0.576 ms64 bytes from 192.168.179.105: icmp_seq=2 ttl=64 time=0.274 ms64 bytes from 192.168.179.105: icmp_seq=3 ttl=64 time=0.183 ms64 bytes from 192.168.179.105: icmp_seq=4 ttl=64 time=0.331 ms64 bytes from 192.168.179.105: icmp_seq=5 ttl=64 time=0.696 ms

总结

1.icmp_seq=x  是发送请求编号,如果中途缺少一个,则说明包丢了。

2.TTL 是 IP 数据包头部的一个字段,用于控制数据包在网络中的存活时间。简单点说TTL默认64,离64越远,则经过的设备越多。

3.time 是超时时间,一般本机都是是小于1ms,一般局域网不会超过10ms,全国同网一般不会超过50ms。

4.判断ping就是判断是否丢包,延时是否不稳定。

5.一般情况下,能ping通,就代表网络的联通性是没问题的,但是也可能出现对方服务器限制了ping的原因。

6.ping通和端口通是完全没有任何关系的两件事。

TELNET

Telnet是一种基于 TCP/IP 的远程登录协议,它允许用户从本地计算机远程访问和控制其他计算机。

Telnet命令的基本语法如下:

telnet <目标主机IP地址或域名> <端口号>

其中:

  • <目标主机IP地址或域名>: 指定要登录的远程主机。

  • <端口号>: 指定要连接的端口号,默认是 23 端口。

下面是一个 Telnet 连接成功的示例:

#如果失败则是无反应,或者提示连接被拒绝#该情况说明对方的22端口是通的[root@localhost ~]# telnet 192.168.179.105 22Trying 192.168.179.105...Connected to 192.168.179.105.Escape character is '^]'.SSH-2.0-OpenSSH_7.4

总结

1.telnet只支持TCP协议,不支持UDP协议。

2.telnet不仅用于探测端口是否畅通,还可以用于登录网络设备(交换机等)。

3.telnet不仅用于探测端口是否畅通,还可以用于登录某些特殊服务(不常见)。

4.ping 和telnet 实际运维中都会组合到一起使用,但是切记他们之间是没有必然关系的,因为他们使用的网络协议都是不一样的。

关注微信公众号《运维小路》获取更多内容。

;