当程序停用时,程序特定端口是否打开?为什么?

当程序停用时,程序特定端口是否打开?为什么?

基本问题。如果我通过端口转发为 Minecraft 等程序打开了一个唯一端口,那么当 Minecraft 停用时该端口是否打开?无论答案是什么,为什么会这样?

答案1

什么约翰在他的回答中说是正确的,但似乎没有完全回答这个问题。

当人们谈论端口开放时,他们真正的意思是有一个可访问的端口,它将接受输入,并由程序处理。为了进行网络通信,您需要三个P: A程序这创造了港口,可以通过途径两个系统之间。

端口是由程序建立的,而不是防火墙或 NAT 配置之类的东西(它们只解决途径),因此,如果没有进程与操作系统建立端口并将其绑定到相关系统上的一个或多个 IP 接口,则该端口已关闭。它不会接受流量,即使它接受,也没有程序会使用该端口进行 I/O。操作系统将忽略发送到端口的任何数据,因为操作系统没有办法处理它。

如果你使用远程端口扫描器,这一点就很明显了盾牌升起或者类似的测试工具canyouseeme.org。尝试在 Minecraft 运行时扫描您的端口,它会报告打开。如果您在 Minecraft 未运行时再次扫描它,您会看到它报告端口已关闭。

答案2

如果您单独从 Minecraft 打开了端口(您的帖子暗示您这样做了),那么端口(用于端口转发)将保持打开状态。

在管理命令提示符中键入 netstat -ab 以查看正在监听的端口。

如果您不想打开它,则需要将其关闭(按照打开它的方式)。

答案3

是的,因为你在路由器\调制解调器\Windows防火墙中打开了它

开放的端口不一定会带来安全问题,但端口扫描器可以确定您正在使用什么类型的程序或服务并尝试进行探索。

答案4

这取决于你对“开放”的定义。以 Nmap(一种常用的端口扫描器)及其使用的定义为例(来自 Nmap 参考指南,端口扫描基础知识;重点是我的):

Nmap 识别的六个端口状态

  • 打开
    应用程序正在此端口上主动接受 TCP 连接、UDP 数据报或 SCTP 关联。找到这些通常是端口扫描的主要目标。有安全意识的人知道每个开放端口都是攻击的途径。攻击者和渗透测试人员希望利用开放端口,而管理员则试图关闭或使用防火墙保护它们,而不会阻止合法用户。开放端口对于非安全扫描也很有趣,因为它们显示了网络上可用的服务。

  • 关闭
    关闭的端口可以访问(它接收并响应 Nmap 探测数据包),但是目前没有应用程序正在监听它。它们有助于显示主机在 IP 地址上是否处于启动状态(主机发现或 ping 扫描),并可作为操作系统检测的一部分。由于已关闭的端口是可访问的,因此可能值得稍后扫描,以防某些端口打开。管理员可能需要考虑使用防火墙阻止此类端口。然后它们将出现在已过滤状态,下面将进行讨论。

  • 已过滤
    Nmap 无法确定端口是否打开,因为数据包过滤会阻止其探测到达端口。过滤可能来自专用防火墙设备、路由器规则或基于主机的防火墙软件。这些端口让攻击者感到沮丧,因为它们提供的信息非常少。有时它们会以 ICMP 错误消息(如类型 3 代码 13(目标无法到达:通信被管理禁止))做出响应,但更常见的是,过滤器只是丢弃探测而不做出响应。[…]

  • 未过滤
    未过滤状态意味着端口可访问,但 Nmap 无法确定它是打开还是关闭。只有用于映射防火墙规则集的 ACK 扫描才会将端口归类为这种状态。使用其他扫描类型(如窗口扫描、SYN 扫描或 FIN 扫描)扫描未过滤端口可能有助于确定端口是否打开。

  • open|filtered
    当 Nmap 无法确定某个端口是打开还是被过滤时,它会将端口置于此状态。[…]

  • closed|filtered
    当 Nmap 无法确定端口是关闭还是被过滤时使用此状态。[…]

从这些方面来说,你的问题的答案

当 Minecraft 停用时该端口是否打开?

是:不,端口未打开,它已关闭。为什么会这样?根据定义。:)


声称您的未运行 Minecraft 的端口是开放的答案显然使用“开放”一词来表示 Nmap 认为的“除过滤之外的任何内容”。我猜他们会使用“关闭”来表示 Nmap 定义为“过滤”。这些答案不一定是错的;他们只是似乎对“开放与关闭”的理解不同。

其他答案,其中指出

当人们谈论端口开放时,他们真正的意思是有一个可访问的端口可以接受输入,并由程序进行处理。[…] 如果没有进程与操作系统建立端口并将其绑定到相关系统上的一个或多个 IP 接口,则该端口将关闭。

基本同意Nmap。

相关内容