zoukankan      html  css  js  c++  java
  • 如何判断服务器之间的服务是否可用?ping 还是 telnet?

    1. 背景

      机器A需要调用机器B的服务,为此要保证服务的可用性,我们有时候用ping,有时候用telent来验证机器A和B的连通性,但有时候会出现这种情况,A可以ping通B,但A调用B的服务会一直报服务超时?如果telnet通了,则不会发送这种情况,这是为什么呢?

    2. 分析

      ping 可以测试到目标机器的连通性。用的是ICMP协议,和服务是否可用无关。

      telnet 用于远程管理连接主机。同时也是测试目标机器的TCP端口是否开放,如果连接失败,可能是防火墙屏蔽。可以简称服务是否可用。

    3. 深入

    ping的用法

    C:Usersdell>ping
    
    用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
                [-r count] [-s count] [[-j host-list] | [-k host-list]]
                [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
                [-4] [-6] target_name
    
    选项:
        -t             Ping 指定的主机,直到停止。
                       若要查看统计信息并继续操作,请键入 Ctrl+Break;
                       若要停止,请键入 Ctrl+C。
        -a             将地址解析为主机名。
        -n count       要发送的回显请求数。
        -l size        发送缓冲区大小。
        -f             在数据包中设置“不分段”标记(仅适用于 IPv4)。
        -i TTL         生存时间。
        -v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,
                       对 IP 标头中的服务类型字段没有任何
                       影响)。
        -r count       记录计数跃点的路由(仅适用于 IPv4)。
        -s count       计数跃点的时间戳(仅适用于 IPv4)。
        -j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)。
        -k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)。
        -w timeout     等待每次回复的超时时间(毫秒)。
        -R             同样使用路由标头测试反向路由(仅适用于 IPv6)。
                       根据 RFC 5095,已弃用此路由标头。
                       如果使用此标头,某些系统可能丢弃
                       回显请求。
        -S srcaddr     要使用的源地址。
        -c compartment 路由隔离舱标识符。
        -p             Ping Hyper-V 网络虚拟化提供程序地址。
        -4             强制使用 IPv4。
        -6             强制使用 IPv6。

    telnet用法

    C:Usersdell>telnet -help
    
    telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]
     -a      企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。
     -e      跳过字符来进入 telnet 客户端提示。
     -f      客户端登录的文件名
     -l      指定远程系统上登录用的用户名。
             要求远程系统支持 TELNET ENVIRON 选项。
     -t      指定终端类型。
             支持的终端类型仅是: vt100, vt52, ansi 和 vtnt。
     host    指定要连接的远程计算机的主机名或 IP 地址。
     port    指定端口号或服务名。

    4. 拓展

      linux中怎样关闭ICMP回应功能,即ping不通

    echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
    如果需要ping通则输入:
    echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
     
      Linux 开启telnet服务
    /etc/xinetd.d/telnet,将disable=yes改成disable=no;
    关闭telnet服务
    /etc/xinetd.d/telnet,将disable=no改成disable=yes;
    5.总结
      ping通常是用来检查网络是否通畅或者网络连接速度的命令。
      而telnet是用来探测指定ip是否开放指定端口的。
  • 相关阅读:
    独立思考模型与经验-仅供参考
    独立思考与输入、吸收
    基于事实和全方位思考
    独立思考有四个层次-知识体系
    思维框架
    阅读、思考与吸收
    思考与阅读
    博学之,审问之,慎思之,明辨之,笃行之:思考与成长
    如何成为有想法的人?如何培养独立思考的能力?
    人的本质--以人为本--思考-认识世界、改造世界
  • 原文地址:https://www.cnblogs.com/davidwang456/p/11125111.html
Copyright © 2011-2022 走看看