ios - Ping www.apple.com 端口

标签 ios gcdasyncsocket

我使用 GCDAsyncSocket 构建小型实用程序 iOS 应用程序,它将 ping www.apple.com 上的端口:list of ports .

例如,尝试在 TCP 端口 80 和 443 上连接时我得到“已连接”状态,但是当我尝试 2195 和 2196 时我得到“超时”。

当尝试使用 GCDAsyncUdpSocket 连接到端口时,无论我尝试连接哪个端口,我都会“连接”,即使某些端口未打开(使用返回“关闭”的 nmap 测试)。

所以,我有几个问题:

1) 我在尝试连接到端口 2195、2196 等时是否做错了什么?

2)GCDAsyncUdpSocket靠谱吗?无论我尝试什么,它都会通过。

最佳答案

你这里有几个误解:

  1. 除非您获得授权,否则您不应尝试连接到不属于您的服务器上的大量端口。这叫做 pentesting ,如果不违法,至少也不好。
  2. 您提到的端口列表与“www.apple.com”无关,它与一般的 Apple 产品有关,与任何 macOS 计算机一样。你可以用你 friend 的电脑试试。或者您自己计算机上的虚拟机。
  3. UDP 协议(protocol)没有“已连接”状态。 UDP 和 TCP 的最大区别在于 TCP 支持连接而 UDP 不支持。 GCDAsyncUdpSocket 的“已连接”状态可能是假的。

See this关于检测 UDP 端口是否打开。

关于ios - Ping www.apple.com 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326063/

相关文章:

ios - 在 iPhone/iOS 的浏览器上录制视频 (MediaRecorder)

ios - GCDAsyncSocket startTLS 不起作用

ios - GCDAsyncSocketDelegate 的 Swift 示例

ios - 使用GCDAsyncSocket传输文件接收器

objective-c - 使用 OSX 可执行文件连接 GCDAsyncSocket 时出现问题

ios - GCDAsyncSocket 客户端在写入之前不读取

ios - 接受聊天室邀请

ios - 如何在 Xcode 中实现图像数组?

ios - 为什么我的图片在 Swift 中设置不正确?

ios - ARKit:position vs worldposition vs simdposition