V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Stefango
V2EX  ›  问与答

ping 与 tcping

  •  
  •   Stefango · Oct 31, 2020 · 3960 views
    This topic created in 2011 days ago, the information mentioned may be changed or developed.

    工控网络基础入门篇之 Ping 、TCPing 、traceroute 命令 文中提到了一句话

    TCPing 的命令参数和使用方法和 Ping 很相似,主要的区别是 Ping 是通过既有的 ICMP 协议进行,而 TCPing 是通过 TCP 协议进行,所以可以再最后加入一个端口参数

    我不是很懂这句话中的因果关系,求浅显的解释和深入学习的资料 🙏

    6 replies    2020-10-31 18:48:49 +08:00
    CallMeReznov
        1
    CallMeReznov  
       Oct 31, 2020
    ICMP 是网络层
    TCP 是传输层

    建议楼主去批站随便找个 CCNA HCNA 这类视频看以下就明白了,零零散散全看下来也不要一个星期,对于网络得基础知识有很大帮助.
    locoz
        2
    locoz  
       Oct 31, 2020
    就是字面意思,Ping 是基于 ICMP 协议做的、TCPing 是基于 TCP 协议做的,都是发一个包然后等对方响应。最后那个“所以可以再最后加入一个端口参数”是因为 ICMP 是网络层的协议,没有端口这个东西,所以不需要指定端口;而 TCP 在传输层,是有端口的,所以可以(应为必须)指定端口。
    aaronlam
        3
    aaronlam  
       Oct 31, 2020
    我的理解是这样的,ping 主要是测试源主机与目标主机的连通性,而 ping 是跑在第三层上的,第三层还没有端口这一概念只有 IP,然后现在很多主机为了防止早期兴起的 ping 攻击,所以都在防火墙关闭 ping 响应了。
    然后就有了 TCPing,TCPing 顾名思义就是跑在第四层上的,利用第四层的 TCP 协议进行连通性测试,但第四层就有端口的概念了,因为 TCP 的协议数据段头需要填上目标主机,这样才知道应该把这个 TCPing 产生的 TCP 协议数据段送往目标主机的哪个端口,所以就需要加端口,如果不加默认就 ping 80 端口。
    aaronlam
        4
    aaronlam  
       Oct 31, 2020
    因为 TCP 的协议数据段头需要填上目标主机 -> 因为 TCP 的协议数据段头需要填上目标主机的端口
    Jirajine
        5
    Jirajine  
       Oct 31, 2020 via Android
    找本计算机网络原理,过一遍。
    Devin
        6
    Devin  
       Oct 31, 2020 via Android
    了解一下 OSI 七层模型或 TCP/IP 协议

    ping 使用的是 OSI 第三层的 ICMP 协议
    tcping 使用的是第四层的 TCP 协议(syn 握手?)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2618 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:41 · PVG 20:41 · LAX 05:41 · JFK 08:41
    ♥ Do have faith in what you're doing.