作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件,或者请求对方接口。
主要从以下几个方面来介绍:
1.给Linux服务器配置IP
2.探测对方网络连通性(ping & telnet)
3.下载对方文件(wget)
4.请求对方服务器(curl)
5.检查本地服务状态(netstat)
6.检查本地服务状态(ss)
7.网络小结
介绍这2个命令之前,首先大概介绍下在网络里面的几个协议:
-
TCP (Transmission Control Protocol):
-
面向连接的传输层协议
-
提供可靠的数据传输,能够检测和重传丢失的数据包
-
广泛应用于 Web 浏览、电子邮件、文件传输等需要可靠传输的应用
-
-
ICMP (Internet Control Message Protocol):
-
网络层协议,用于发送网络故障信息和查询报文
-
PING 命令就是基于 ICMP 协议实现的
-
主要用于网络故障诊断和测试
-
-
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.105
PING 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 ms
64 bytes from 192.168.179.105: icmp_seq=2 ttl=64 time=0.274 ms
64 bytes from 192.168.179.105: icmp_seq=3 ttl=64 time=0.183 ms
64 bytes from 192.168.179.105: icmp_seq=4 ttl=64 time=0.331 ms
64 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 22
Trying 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 实际运维中都会组合到一起使用,但是切记他们之间是没有必然关系的,因为他们使用的网络协议都是不一样的。
关注微信公众号《运维小路》获取更多内容。