如何查找打开和阻塞的 TCP/UDP 端口

很有可能您遇到过这篇文章,因为您尝试运行的应用程序抱怨“端口”被阻止,或者您已经了解在网络上保持某些“端口”打开可能是一个安全问题. 

无论哪种方式,在本文结束时,您不仅会知道每个人都在处理的这些端口是什么,而且还会知道如何检查您的计算机以找到打开或关闭的端口。

什么是网络端口?(What Is a Network Port?)

您应该知道的第一件事是我们在这里提到的端口是虚拟(virtual)的。它与路由器、电视、控制台或计算机上的物理网络硬件端口无关。端口只是您的网络硬件和软件组织信息流量的一种方式。 

想想道路上的预留车道。人行道是供行人使用的。可能有专门的自行车道。(Carpool)车和公共汽车也有自己的车道。端口具有相同的功能。一个端口可能用于接收电子邮件,而另一个端口则承载文件传输请求或网站流量。 

有两种常见的端口类型,在我们继续检查系统上哪些端口是打开的,哪些没有打开之前,需要对它们进行简要说明。

什么是 TCP 和 UDP 端口?(What Are TCP & UDP Ports?)

现代网络上两种常见的端口类型称为TCPUDP端口。分别是传输控制协议(Transmission Control Protocol)用户数据报协议(User Datagram Protocol )。所以这两种端口类型使用不同的网络协议。

您可以将其视为关于如何发送和接收信息位的独特规则集。这两种端口类型都建立在使互联网和家庭网络正常工作的基本(work)互联网协议(Internet Protocol)(IP) 之上。但是,它们适用于不同的应用。

最大的区别在于,当您通过UDP发送信息时,发送方不必在开始对话之前先与接收方建立连接。这有点像寄信。您不知道对方是否收到了您的消息,并且您无法保证一定会收到任何反馈。

(TCP)另一方面,TCP更像是打电话。接收者必须“接听”连接,并且有一个来回的信息流,直到有人故意挂断。

UDP消息通常通过网络广播给在指定UDP端口上侦听的任何人。这使其非常适合与运行网络本身相关的内务类消息。它也非常适合 IP 语音流、在线视频游戏和流广播。 

为什么?这些应用程序受益于 UDP 的低延迟和持续不断的信息流,这些信息不必完美无缺。毕竟,您的 Skype 聊天中的一点点损坏远没有少量延迟那么重要。

TCPUDP更常见,并且绝对确保接收到的所有数据都没有错误。几乎所有不需要UDP特定优势的东西都使用TCP

哪些端口通常默认打开?(Which Ports Are Usually Open By Default?)

很多(LOT)端口。端口号可以是 0 到 65535 之间的任何值!这并不意味着任何应用程序都可以选择任何端口。有既定的标准和范围,可以帮助我们理解噪音。

端口 0-1023 与一些最重要和最基础的网络服务相关联。这是有道理的,因为首先分配了编号较低的端口。例如,用于电子邮件的SMTP协议仅由端口 25 使用。(SMTP)

端口 1024-49151 被称为“注册端口”,分配给重要的公共服务,例如端口 1194 上的OpenVPN或端口 1433 和 1434 上的Microsoft SQL 。

其余端口号称为“动态”或“私有”端口。这些端口没有保留,任何人都可以在网络上使用它们来支持特定服务。当同一网络上的两个或多个服务使用同一端口时,唯一的问题就会出现。

虽然不可能列出每一个重要的端口,但这些常见的端口对于熟记是有用的:

  • 20 – FTP(文件传输协议)
  • 22 -安全外壳(Secure Shell)(SSH)
  • 25 -简单邮件传输协议(Simple Mail Transfer Protocol)(SMTP)
  • 53 -  域名系统(Domain Name System)(DNS)
  • 80 -超文本传输​​协议(Hypertext Transfer Protocol)( HTTP )
  • 110 – 邮局协议 (POP3)
  • 143 -互联网消息访问协议(Internet Message Access Protocol)( IMAP )
  • 443 -  HTTP 安全(HTTPS)

由于有成千上万个通用端口号,最简单的方法是记住范围。(Which)将告诉您给定端口是否被保留。感谢Google,您还可以立即查看哪些服务使用特定端口。

在 Windows 中查找打开的端口(Find Open Ports In Windows)

现在我们已经掌握了有关TCPUDP端口的所有基本知识,是时候开始寻找计算机上打开和使用的端口的过程了。

好消息是,Windows内置了一个非常有用的命令,可以显示各种应用程序和服务当前在计算机上使用的端口。

  • 您要做的第一件事是打开“开始”菜单(Start Menu)并搜索CMD。

  • 现在,右键单击CMD以管理员身份运行。(Run as Administrator.)

  • 打开命令提示符后,键入:

网络统计-ab(Netstat -ab)

  • 不要担心一长串信息滚动的速度比您阅读它的速度快。您可以简单地使用CTRL+C CTRL+V 将信息复制并粘贴到记事本(Notepad)或任何其他文本编辑器中。
  • 括号中的信息是使用端口的程序的名称。TCPUDP是指在该端口上使用的协议。该编号由 IP 地址和冒号后的端口号组成。

扫描阻塞端口(Scanning For Blocked Ports)

它负责查找哪些端口正在使用以及哪个应用程序正在使用,但它不会告诉我们哪些端口正在被Windows 防火墙(Windows Firewall)主动阻止。

  • 再次打开开始菜单(Start Menu)并搜索CMD。
  • 右键单击CMD以管理员身份运行。(Run as Administrator.)
  • 打开命令提示符后,键入:

netsh 防火墙显示状态(netsh firewall show state)

这是根据您的Windows 防火墙(Windows Firewall)配置显示的被阻止和打开的端口。

您会看到有关此命令已被弃用的注释,但新命令并未向我们显示我们想要的信息。因此,目前使用“show state”命令仍然是获取端口信息的最快和最简单的方法。

仅仅因为Windows 防火墙(Windows Firewall)没有阻止端口,并不意味着您的路由器或ISP没有。所以我们要做的最后一件事是检查是否发生了任何外部阻塞。

  • 打开开始菜单并搜索CMD。
  • 现在,右键单击CMD以管理员身份运行。(Run as Administrator.)
  • 打开命令提示符后,键入:

netstat -ano | findstr -i SYN_SENT

如果您没有列出任何命中,则说明没有任何内容被阻止。如果列出了某些端口,则表示它们被阻止。如果此处显示未被 Windows 阻止的端口,您可能需要检查您的路由器或向您的ISP发送电子邮件,如果不能选择切换到其他端口。

有用的应用程序来映射您的端口状态(Useful Apps To Map Out Your Port Status)

虽然命令提示符(Command Prompt)是一个很好的快速而肮脏的工具,但还有更精致的第三方应用程序可以帮助您了解端口配置。这里突出显示的两个只是流行的例子。

SolarWinds 免费端口扫描器(SolarWinds Free Port Scanner)(SolarWinds Free Port Scanner)

SolarWinds要求您提交您的姓名和详细信息才能下载它,但您是否将真实信息放入表单中取决于您。在选择SolarWinds(SolarWinds)之前,我们尝试了几个免费工具,但它是唯一一个既能在Windows 10下正常工作又具有简单界面的工具。 

它也是唯一没有触发误报病毒标志的。端口扫描软件的一大问题是安全公司倾向于将它们视为恶意软件。因此,大多数用户会忽略此类工具附带的任何病毒警告。这是一个问题,因为您无法在这些应用程序中区分误报和真正的病毒。 

SolarWinds 可能附带一些附加条件,但它实际上像宣传的那样工作并且易于使用。

你可以看到我吗(CanYouSeeMe)(CanYouSeeMe)

正如您可能知道的那样,这是一个网站服务,而不是一个应用程序。看看外部数据是否可以通过您的本地端口,这是一个很好的第一个呼叫端口。它会自动检测您的 IP 地址,您所要做的就是指定要测试的端口。 

然后它会告诉您端口是否被阻塞,然后您必须确定阻塞是在计算机、路由器还是在服务提供商级别。

结论

对于大多数用户来说,端口不是您需要担心的事情。它们由您的操作系统、应用程序和网络硬件管理。 

然而,当出现问题时,最好有工具在手,它可以让您找到开放端口以嗅探可疑活动或找出您的宝贵信息到底在哪里撞到了砖墙。



About the author

我是一名 Windows 10 技术人员,多年来一直在帮助个人和企业利用新操作系统。我对 Microsoft Office 有丰富的知识,包括如何为不同的用户自定义外观和个性化应用程序。此外,我知道如何使用 Explorer 应用程序来探索和查找计算机上的文件和文件夹。



Related posts