L69.linux命令每日一练 -- 第十章 Linux网络管理命令 -- arpping和telnet

10.11 arping:发送arp请求

10.11.1 命令详解

【命令星级】 ★★★☆☆

【功能说明】

​  arping命令是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包检查局域网内所有设备的硬件地址。

【语法格式】

arping [option]
arping [选项]

​ **说明:**在arping命令及后面的选项里,每个元素直接都至少要有一个空格。

【选项说明】

​ 表10-12针对该命令的参数选项进行了说明。

​ 表10-12 arping命令的参数选项及说明
在这里插入图片描述

10.11.2 使用范例

​ **范例10-38:**测试目的主机是否存活。

[root@centos6 ~]# arping -f 10.0.0.254	#使用-f选项收到第一个响应时就退出,用于检测目的主机是否存活。
ARPING 10.0.0.254 from 10.0.0.202 eth0	#从10.0.0.202的eth0网卡向10.0.0.254发送arp报文。
Unicast reply from 10.0.0.254 [00:50:56:FC:58:AC]  0.687ms	#从10.0.0.254单播回复它的MAC地址,并且显示时延。
Sent 1 probes (1 broadcast(s))	#发送1个广播包。
Received 1 response(s)	#收到1个响应。
[root@centos6 ~]# arping -f 10.0.0.3  	#没有运行的主机不会响应,命令一直等待,知道Ctrl+c终止。
ARPING 10.0.0.3 from 10.0.0.202 eth0
^CSent 8 probes (8 broadcast(s))
Received 0 response(s)

​ **注意:**上面的命令也能帮助我们查看某IP的MAC地址。

​ **范例10-39:**Linux负载均衡器宕机切换时arp缓存导致故障案例。

​ 当Linux负责均衡器发生宕机故障,我们使用备用的设备接管时,因为所有用户以及客户端的arp缓存里对应的仍然是宕机时的负责均衡器的IP,因此,切换完新负载均衡器之后,短时间内用户访问可能依然不正常,此时就需要执行arping命令,让所有的客户端缓存失效,这也是高可用软件的做法:

[root@centos6 ~]# arping -c 1 -I eth0 -s 10.0.0.5
10.0.0.2	#这里的10.0.0.5是VIP地址,10.0.0.2是上网网关。

10.12 telnet:远程登录主机

10.12.1 命令详解

【命令星级】 ★★★☆☆

【功能说明】

​  telnet命令以前是用于登录远程主机,对远程主机进行管理的。但是因为telnet是采用明文传送报文的,其安全性不好,因此现在很多Linux服务器都不开放telnet服务,而是改用更安全的SSH服务了。当然,交换机等网络设备还是会采用telnet登录的方式。

​ 现在使用telnet命令的场景主要是判断远端服务器的端口是否开放。

【语法格式】

telnet [option] [host] [port]
telnet [选项]	[主机名或IP] [端口]

​ **说明:**在telnet命令及后面的选项里,每个元素直接都至少要有一个空格。

10.12.2 使用范例

​ **范例10-40:**测试ssh端口是否开放。

[root@centos7 ~]# telnet 10.0.0.201 22
-bash: telnet: command not found
[root@centos7 ~]# yum provides telnet
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
1:telnet-0.17-64.el7.x86_64 : The client program for the Telnet
                            : remote login protocol
Repo        : base



1:telnet-0.17-65.el7_8.x86_64 : The client program for the Telnet
                              : remote login protocol
Repo        : updates



[root@centos7 ~]# yum install -y telnet
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package telnet.x86_64 1:0.17-65.el7_8 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================
 Package     Arch        Version                 Repository    Size
====================================================================
Installing:
 telnet      x86_64      1:0.17-65.el7_8         updates       64 k

Transaction Summary
====================================================================
Install  1 Package

Total download size: 64 k
Installed size: 113 k
Downloading packages:
telnet-0.17-65.el7_8.x86_64.rpm                |  64 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:telnet-0.17-65.el7_8.x86_64                    1/1 
  Verifying  : 1:telnet-0.17-65.el7_8.x86_64                    1/1 

Installed:
  telnet.x86_64 1:0.17-65.el7_8                                     

Complete!
[root@centos7 ~]# telnet 10.0.0.201 22	#这里的10.0.0.201 换成读者自己的IP,22是SSH服务的默认端口号。
Trying 10.0.0.201...
Connected to 10.0.0.201.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4	#看到这种结果,就证明SSH服务的22端口已经开放了。
#此时命令行以及挂起了,不能再进行其他操作,Ctrl+c也无法退出。根据提示输入“Ctrl+]”,然后进入telnet命令行,输入quit就能退出。
^]
telnet> quit
Connection closed.
#输入有误需要退格使用Ctrl+Backspace或Ctrl+w。

​ **范例10-41:**端口无法连接的场景模拟。

[root@centos7 ~]# telnet 10.0.0.201 23
Trying 10.0.0.201...
telnet: connect to address 10.0.0.201: Connection refused

​ 如果出现这个问题,则表示该端口对应的服务没有开启,或者端口被屏蔽,无权访问。

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/126202960