昨天面试官问我,ping的端口号是多少,哪个协议使用TCP/UDP。
面试后,我在互联网上搜索,发现不同的结果有人说ICMP使用端口7,有人说它不使用端口号,在一个网站上,我发现它使用IP协议1,等等。
有人能帮我找出正确的解释吗?
发布于 2017-01-09 11:35:37
标准ping命令不使用TCP或UDP。它使用ICMP。更准确地说,使用了ICMP类型8(回波消息)和类型0(回波回复消息)。ICMP没有端口!
有关更多细节,请参见RFC792。
发布于 2019-01-02 13:29:55
我想给你一个额外的答案,特别是对问题的这一部分:
..。有人说ICMP使用端口7
端口7( TCP和UDP)用于"echo“服务。
如果计算机上有此服务,则可以使用UDP端口7而不是ICMP来执行"ping“。
然而,大多数现代计算机没有运行"echo“服务,因此使用UDP端口7而不是ICMP执行"ping”操作是行不通的。
并且:正如“代替ICMP”一词已经表明,UDP端口7上的"ping“不是使用ICMP,而是使用UDP,这是一个完全不同的协议!
发布于 2019-01-02 16:50:09
正如其他人已经指出的,一般来说,pings是基于ICMP的,没有端口。然而,有一种东西,如TCP平,其中,而不是典型的三路TCP握手,只有前两个步骤,并测量之间的延迟。一旦测量完成,RST将被发送到关闭半开连接。然后,该进程重复执行,直到到达计数器/持续时间或终止该进程为止。使用TCP (我经常使用它来测试我的系统管理员所使用的服务器上打开的端口),您可以指定要测试的目标端口(以验证服务器正在侦听某个端口)。源端口只是一个短暂的随机端口。
如果您希望看到一个TCP实用程序(我在Windows上使用的实用程序)的示例,下面是:TCPing。另外,NMAP还附带了一个名为NPING的实用程序,它有一个标志,允许它执行基于TCP的pings (我在macOS和Linux系统上使用它)。
值得注意的是,一些网络设备也具有这种功能,例如使用一些较新的操作系统版本的Cisco As。命令是:ping tcp <destination IP> <destination port>
https://networkengineering.stackexchange.com/questions/37896
复制相似问题