ping 与 tcping

2020-10-31 18:01:37 +08:00
 Stefango

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

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

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

3014 次点击
所在节点    问与答
6 条回复
CallMeReznov
2020-10-31 18:27:24 +08:00
ICMP 是网络层
TCP 是传输层

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

ping 使用的是 OSI 第三层的 ICMP 协议
tcping 使用的是第四层的 TCP 协议(syn 握手?)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720525

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX