V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Stefango
V2EX  ›  问与答

ping 与 tcping

  •  
  •   Stefango · 2020-10-31 18:01:37 +08:00 · 3315 次点击
    这是一个创建于 1509 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    6 条回复    2020-10-31 18:48:49 +08:00
    CallMeReznov
        1
    CallMeReznov  
       2020-10-31 18:27:24 +08:00
    ICMP 是网络层
    TCP 是传输层

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

    ping 使用的是 OSI 第三层的 ICMP 协议
    tcping 使用的是第四层的 TCP 协议(syn 握手?)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3526 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:56 · PVG 12:56 · LAX 20:56 · JFK 23:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.