CurrPorts是一款网络监控软件,可显示您本地计算机当前打开的所有TCP/IP和UDP端口的列表。对于列表中的每个端口,它还显示有关打开该端口的进程的信息,包括进程名称、进程的完整路径、进程的版本信息(产品名称、文件描述等)、创建进程的时间以及创建它的用户。

cports

另外,CurrPorts允许您关闭不需要的TCP连接,结束打开端口的进程,并将TCP/UDP端口信息保存至HTML文件、XML文件或制表符分隔的文本文件中。CurrPorts还会自动用粉色标记出不明应用(无版本信息和图标的应用)占用的可疑TCP/UDP端口。

当开启'Use DNS Cache For Host Names'选项时,每次刷新都会出现显著的内存泄漏。这个内存泄漏并非由CurrPorts直接导致,而是由Windows的DNS缓存编程接口造成的。当前,没有找到解决此问题的变通方法,因此,如果你在自动刷新模式下连续运行CurrPorts几个小时,建议关闭'Use DNS Cache For Host Names'选项。如果你想监控UDP活动,可以尝试使用LiveTcpUdpWatch工具。

 版本历史

  •  版本 2.77:
    • 修复错误:CurrPorts 无法显示 IPv6 地址的国家/城市信息。
  •  版本 2.76:
    • 添加了新选项:“仅显示传入的 TCP 连接”。打开此选项后,CurrPorts 仅显示与关联侦听端口的连接。
  •  版本 2.75:
    • 添加了对使用 https://github.com/sapics/ip-location-db 中的 IP-Location 文件查看远程 IP 地址的国家/城市/ASN 信息的支持。
    • 您可以使用所有 3 种类型的 CSV 文件:国家/地区、城市和 ASN。
    • 支持 IPv4 和 IPv6 文件。
    • 为了使用这些 IP 位置文件,只需下载所需的文件并将它们与其原始文件名放在 cports.exe 的同一文件夹中(例如: asn-country-ipv4.csv 、 asn-ipv4.csv、asn- IPv6.csv)
  •  版本 2.71:
    • 添加了“全屏”选项(查看 -> 全屏或 F11 键)。
  •  2.70 版本:
    • 添加了“黑色背景”选项(在“视图”菜单下)。打开后,主表以黑色背景和白色文本显示,而不是默认的系统颜色。
    • 添加了二级排序支持:您现在可以通过按住 Shift 键并单击列标题来进行二级排序。请注意,单击第二/第三/第四列时只需按住 Shift 键即可。要对第一列进行排序,不应按住 Shift 键。
    • 添加了从菜单更改排序列的选项(查看 -> 排序依据)。与列标题单击排序一样,如果再次单击相同的排序菜单项,它将在升序和降序之间切换。另外,如果在选择排序菜单项时按住 Shift 键,您将获得二次排序。
    • 在工具栏添加了“排序依据”下拉菜单。
  •  版本 2.66:
    • 修复错误:CurrPorts 在使用 GeoLite2 City 数据库时随机崩溃。
  •  版本 2.65:
    • 更新为在高 DPI 模式下正常工作。
    • 已修复的问题:即使关闭“收集发送/接收字节信息”选项,CurrPorts 也会尝试启动内核跟踪,并且如果在未提升的情况下执行 CurrPorts,则内核跟踪失败,并在事件日志中显示以下错误:会话“NT”内核记录器”无法启动并出现以下错误:0xC0000022
  •  版本 2.63:
    • 添加了“数字列右对齐”选项。
  •  版本 2.62:
    • 添加了“复制远程地址”选项。
  •  版本 2.61:
    • 修复了 CurrPorts 以在 TCP 端口状态(“状态”列)发生更改时更新它。
  •  2.60 版本:
    • 添加了对 CSV 格式的 GeoLite2 City 和 GeoLite2 Country 数据库的支持(支持 IPv4 和 Ipv6 地址)。
    • 为了使用它,您必须将GeoLite2数据库的文件解压到cports.exe文件夹中
    • 添加了对 CSV 格式的 GeoLite2 ASN 数据库的支持。为了使用此功能,请将 CSV 文件解压到 cports.exe 文件夹中,信息将显示在“远程 IP ASN”和“远程 IP 公司”列中。
  •  版本 2.55:
    • 添加了 /CaptureTime 命令行选项,它允许您从命令行捕获指定毫秒数的端口信息,而不是拍摄单个快照。
    • 例如:cports.exe /scomma c:\temp\ports1.csv /CaptureTime 10000
    • 请注意,您必须以管理员身份运行 cports.exe,才能使用 /CaptureTime 命令行选项获取发送/接收字节信息。
    • 添加了 /RunAsAdmin 命令行选项,用于从命令行以管理员身份运行 CurrPorts。
  •  版本 2.51:
    • 添加了“创建时间戳”列,显示创建连接的日期/时间。请注意,此信息并非适用于所有连接,并且在 Windows 10 上效果更好。
  •  2.50版本:
    • 添加了新列:“发送字节”、“接收字节”、“发送数据包”、“接收数据包”。仅当以管理员身份运行 CurrPorts、“自动刷新”模式处于活动状态并且“收集发送/接收字节信息”选项处于打开状态时,这些列才处于活动状态。
  •  2.36版:
    • 添加了“自动调整列+标题大小”选项。
  •  2.35 版:
    • “解析 IP 地址”选项现在也适用于 IPv6 地址。
  •  2.32 版:
    • 添加了选择要在主窗口(在“视图”菜单下)中显示的另一种字体(名称和大小)的选项。
  •  版本 2.31:
    • 您现在可以在 /close 命令行选项中指定进程 ID,例如:

      cpports.exe /关闭 * * * * 2154
  •  2.30版本:
    • 在选项 -> 状态显示过滤器下为每个 TCP 状态添加了单独的显示过滤器(“显示 Syn-Sent”、“显示时间等待”等)
  •  2.25 版:
    • 添加了“隐藏具有环回地址的项目”选项(隐藏本地地址或远程地址为 127.0.0.1 或 ::1 的项目)
  •  2.22 版:
    • 修复错误:“以管理员身份运行”选项在某些系统上无法工作。
  •  2.21版:
    • 更改了“对主机名使用 DNS 缓存”选项的工作方式,以解决内存泄漏问题。
  •  2.20版本:
    • 当您在没有提升的情况下运行它时(“以管理员身份运行”),CurrPorts 现在会显示大多数进程的进程名称(其中一些没有完整路径)。此外,32 位版本的 CurrPorts 现在可以正确检测 64 位进程。
  •  2.15版:
    • 添加了“以管理员身份运行”选项 (Ctrl+F11),使您可以在 Windows Vista/7/8/2008 上以管理员身份轻松运行 CurrPorts。 (当您以管理员身份运行 CurrPorts 时,将显示有关所有进程的信息)
    • 修复了错误:如果主窗口不在主显示器中,CurrPorts 无法记住主窗口的最后大小/位置。
  •  2.12 版:
    • 您现在可以从工具栏中禁用/启用所有过滤器。
  •  2.11版:
    • 修复了内存泄漏问题。
  •  2.10版本:
    • 从命令行保存打开的端口时,CurrPorts 现在使用 .cfg 文件中保存的相同列顺序。
  •  2.09版:
    • 修复了 2.08 版本中的错误:某些过滤器停止工作...
  •  2.08版:
    • 添加了对按进程 ID 进行过滤的支持(在“高级过滤器”窗口中),例如:
        包括:进程:327
  •  2.07版:
    • 修复了自动刷新时的闪烁问题。
  •  2.06版:
    • 已解决的问题:在多显示器系统上,属性对话框和其他窗口在错误的显示器中打开。
  •  2.05版:
    • 添加了对 GeoLite City 数据库的支持。您现在可以下载 GeoLite City 数据库 (GeoLiteCity.dat.gz),将其放在 cports.exe 的同一文件夹中,CurrPorts 将自动使用它来获取每个远程 IP 地址的国家/城市信息。
  •  2.02版:
    • 现在,如果 CurrPorts 无法关闭一个或多个 TCP 连接,则会显示一条简单的错误消息。
  •  2.01版:
    • “远程地址”和“本地地址”列现在按 IP 地址数字排序。 (在以前的版本中,它们是按字母顺序排序的)
  •  2.00版:
    • 在 /close 命令行选项中添加了可选的第五个参数,它允许您指定进程名称(例如:firefox.exe)
  •  1.97 版:
    • “对主机名使用 DNS 缓存”选项现在默认处于关闭状态,因为读取 DNS 缓存似乎会导致某些 Windows 7/x64 系统上的内存泄漏。
  •  1.96版:
    • 修复 bug:CurrPorts 随机无法显示 IPv6 连接的远程端口号。
  •  1.95 版:
    • 添加了“对主机名使用 DNS 缓存”选项。当它打开时,CurrPorts 使用 Windows 的 DNS 缓存来解析远程 IP 地址。
  •  1.94 版:
    • 在选项 -> 自动刷新下添加了“自定义”自动刷新选项。可以在“高级选项”窗口中设置自定义自动刷新的秒数 (Ctrl+O)
    • 修复了将数据发送到 stdout 的问题(当文件名为空字符串时)。
  •  1.93版:
    • 更新了用于在“远程 IP 国家/地区”列中显示国家/地区名称的内部国家/地区名称(添加了更多 14 个国家/地区)。
  •  1.92 版:
    • 当选择“清除日志文件”选项时,CurrPorts 现在会询问您是否要清除日志,以避免错误地清除日志文件。
  •  1.91版:
    • 添加了“新端口发出蜂鸣声”选项。
  •  1.90版本:
    • 添加了“新端口上的托盘气球”选项。当此选项和“将图标放在托盘上”选项均打开时,CurrPorts 检测到的每个新端口将显示在托盘气球中。 (如果 TCP/UDP 端口被其他 CurrPorts 选项过滤并且未显示在主窗口中,则它不会显示在托盘气球中。)
  •  1.87 版:
    • 改进了“用户名”列。如果您以管理员身份运行 CurrPorts,此列将显示所有进程的用户名。 (在以前的版本中,CurrPorts 无法检测其他用户创建的进程,即使您以管理员身份运行它也是如此)
  •  1.86 版:
    • 在“视图”菜单下添加了“标记奇数/偶数行”选项。当它打开时,奇数行和偶数行以不同的颜色显示,以便于阅读单行。
  •  1.85 版:
    • 添加了命令行选项来控制“选项”和“查看”菜单下的设置:/MarkPorts、/DisplayUdpPorts、/DisplayTcpPorts、/DisplayClosedPorts 等...
  •  1.83版:
    • 添加了“向 CSV/制表符分隔文件添加标题行”选项。启用此选项后,当您导出到 csv 或制表符分隔文件时,列名称将添加为第一行。
  •  1.82 版:
    • 添加了“每次刷新时调整列大小”选项,该选项允许您在每次刷新时根据文本长度自动调整列大小。
  •  1.81 版:
    • 在 CurrPorts 的上下文菜单中添加了更多包含/排除过滤器选项。
  •  1.80版本:
    • 添加了自定义日志行选项(在“高级选项”窗口中),它允许您设置日志行的格式并在其中放入您喜欢的任何列值。
  •  版本 1.76:
    • 添加了“一键托盘图标”选项。当选中它并且您使用托盘图标选项时,用鼠标左键单击托盘图标将打开 CurrPorts。 (没有此选项,需要双击)
  •  1.75 版:
    • 在上下文菜单中添加了“排除过滤器中选定的进程”选项。
    • 添加了“在过滤器中包含选定进程”选项的加速键。
    • 修复了错误“在过滤器中包含选定的进程”选项:无法处理系统进程。
    • 添加了“禁用所有过滤器”选项,可以在活动过滤器状态和无过滤器状态之间轻松切换,作为“清除所有过滤器”的替代方案,后者不允许您返回过滤器。
  •  1.70版本:
    • 添加了 /sort 命令行选项,用于对从命令行保存的连接列表进行排序。
  •  版本 1.66:
    • 已修复问题:当 CurrPorts 窗口隐藏且任务栏中有图标时,再次运行 CurrPorts 将打开 CurrPorts 的现有实例,而不是创建另一个实例。
  •  1.65 版:
    • 在工具栏中添加了拖放图标,可以轻松地按所需的应用程序进行过滤。只需将目标图标拖到应用程序的窗口中,CurrPorts 将仅显示该应用程序打开的端口。
  •  1.60版本:
    • 添加了新列:窗口标题(进程的窗口标题)
    • 添加了“清除所有过滤器”选项。
    • 添加了“在过滤器中包含选定的进程”选项。允许您轻松地按选定的流程进行过滤。
  •  1.56版:
    • 添加了新选项:在执行任何操作之前询问。 (如果您取消选中此选项,CurrPorts 在关闭端口/应用程序之前不会询问您任何问题)
  •  1.55版:
    • 在状态栏中添加了远程连接数。
    • 在托盘图标工具提示中添加了端口信息。
  •  1.51版:
    • 修复bug:在极少数情况下,启动CurrPorts时可能会出现异常窗口。
  •  1.50版本:
    • 添加了“显示端口地址”选项。选中此选项后,地址将以“地址:端口”格式显示。
  •  1.48 版:
    • 修复了 Alt+1 加速键。
  •  版本 1.47:
    • 添加了每 1 秒自动刷新一次。
  •  版本 1.46:
    • 当 IPNetInfo 与 CurrPorts 位于同一文件夹中时,自动启动它。
  •  1.45 版:
    • 添加了“远程 IP 国家/地区”列,显示远程 IP 地址的国家/地区名称(需要从此处下载外部文件)
  •  1.41版:
    • 修复 bug:CurrPorts 无法在菜单中显示当前自动刷新状态。
  •  1.40版本:
    •  添加了对 IPv6 的支持。
  •  版本 1.37:
    • 修复错误:当以非管理员用户在 Windows Vista 下运行时,CurrPorts 无法显示进程信息。
    • 添加了模块文件名列(仅适用于 XP/SP2)
  •  1.36版:
    • 修复错误:当用户切换到另一个应用程序然后返回到 CurrPorts 时,主窗口失去焦点。
  •  1.35版:
    • 修复了当字段值包含逗号字符时保存为逗号分隔文件的错误。
  •  1.34版:
    • 新选项:记住最后一个过滤器(过滤器保存在 cports_filter.txt 中)
  •  1.33版:
    • 添加了对保存逗号分隔 (.csv) 文件的支持。
    • 添加了新的命令行选项:/scomma
  •  1.32 版:
    • 新选项:以隐藏方式启动 CurrPorts(仅当“将图标放在托盘上”打开时)
    • 新选项:复制远程 IP 地址 (F2)。
  •  1.31版:
    • 修复 bug:同一进程中相同编号的 TCP 和 UDP 端口合并为一项。
  •  1.30版本:
    • 新列:添加日期 - 显示添加指定连接的日期。
    • 新选项:将图标放在托盘上。
    • 新选项:日志文件。
  •  1.20版本:
    • 添加了对过滤器的支持。
    • CurrPorts 实用程序的设置现在保存到 cfg 文件中,而不是使用注册表。
    • 新的命令行选项。
    • 现在,您可以通过在命令行中指定空文件名 ("") 将信息发送到 stdout。
    • 添加了对 x64 的支持。
  •  1.11版:
    • 添加了对 Vista 中进程信息的支持。
  •  1.10版本:
    • 当列中的字符串长于列长度时,将显示工具提示。
  •  1.09版:
    • /close 命令行参数 - 从命令行关闭连接
  •  1.08版:
    •  修复了列顺序错误。
  •  1.07版:
    • 新选项:解析远程 IP 地址。
  •  1.06版:
    • 新列:进程属性 - 显示进程的文件属性(H 表示隐藏,R 表示只读,依此类推)
    • 添加了对使用 IPNetInfo 实用程序的支持
  •  1.05版:
    • 修复错误:识别以“\??\”开头的进程路径
  •  1.04版:
    • 添加了更多加速键。
    • 添加了对 Windows XP 视觉样式的支持。
  •  1.03版:
    • 新选项:显示监听
    • 新选项:显示已建立
    • 新选项:显示状态未知的项目
    • 新选项:显示没有远程地址的项目
  •  1.02版:
    • 修复了错误:在没有管理员权限的 Windows NT/2000 上运行 CurrPorts 时出现“Exception C0000005”消息。
    • 新列:“进程服务”- 显示进程的服务列表。
  •  1.01版:
    • “复制所选项目”选项现在以制表符分隔格式复制端口数据,因此您可以立即将数据粘贴到 Excel 工作表中。
    • 改进了 Windows 2000 下进程绑定的端口。现在 Windows NT 下也显示进程信息。
  • 版本 1.00:首次发布。

系统要求

该实用程序可以在 Windows NT、Windows 2000、Windows XP、Windows Server 2003、Windows Server 2008、Windows Vista、Windows 7、Windows 8 和 Windows 10 下完美运行。还可以单独下载适用于 x64 版本 Windows 的 CurrPorts。如果您想在 Windows NT 上使用此实用程序,您应该在 system32 目录中安装 psapi.dll。

您还可以在旧版本的 Windows (Windows 98/ME) 上使用此实用程序,但在这些版本的 Windows 中,不会显示每个端口的进程信息。

使用当前端口

CurrPorts 实用程序是一个独立的可执行文件,不需要任何安装过程或额外的 DLL。要开始使用它,只需将可执行文件 (cports.exe) 复制到您喜欢的任何文件夹,然后运行它。

CurrPorts 的主窗口显示所有当前打开的 TCP 和 UDP 端口的列表。您可以选择一项或多项,然后关闭选定的连接,将端口信息复制到剪贴板,或将其保存到 HTML/XML/文本文件。如果您不想查看所有可用列,或者想要更改屏幕上和保存的文件中的列顺序,请从“视图”菜单中选择“选择列”,然后选择所需的列及其顺序。要按特定列对列表进行排序,请单击所需列的标题。

选项菜单

选项菜单下提供以下选项:

  • 显示监听:如果启用此选项,则显示所有监听端口。
  • 显示已建立的连接:如果启用此选项,将显示所有已建立的连接。
  • 显示关闭:如果启用此选项,则会显示关闭的端口(具有“时间等待”、“关闭等待”或“关闭”状态)。
  • 显示状态未知的项目:如果启用此选项,则显示状态未知的项目(状态列为空)。
  • 显示没有远程地址的项目:如果启用此选项,则显示没有远程地址的断开连接的端口。
  • 显示 TCP 端口:如果禁用此选项,TCP 端口将不会显示在端口列表中。
  • 显示 UDP 端口:如果禁用此选项,UDP 端口将不会显示在端口列表中。
  • 标记未识别应用程序的端口:如果启用此选项,则无版本信息且无图标的应用程序打开的所有 TCP/UDP 端口将自动标记为粉红色。如果您的系统上有一个或多个标有粉红色的端口,您应该深入检查创建这些端口的进程。它可能只是一个无辜的应用程序,根本不包含任何图标和版本信息(例如:MySQL 和 Oracle 服务器的可执行文件不包含任何图标或版本信息,因此如果您的系统上有 MySQL/Oracle 服务器,它们打开的端口将被标记。),但它也可能是渗透到您系统中的特洛伊木马或其他不需要的应用程序。
  • 标记新/修改的端口:如果启用此选项,每次刷新端口列表时,所有新添加的端口和发生更改的现有端口都会标记为绿色。
  • 自动刷新:允许您每 2、4、6、8 或 10 秒自动刷新打开的端口列表。
  • 自动刷新时排序 如果启用此选项,则每次自动刷新列表时都会对整个端口列表进行排序。否则,新的/修改的端口将添加到列表的底部。

国家/城市/ASN 信息

从2.75版本开始,您可以使用https://github.com/sapics/ip-location-db中的IP-Location文件来查看远程IP地址的国家/城市/ASN信息。

您可以使用所有 3 种类型的 CSV 文件:国家/地区、城市和 ASN。支持 IPv4 和 IPv6 文件。为了使用这些 IP 位置文件,只需下载所需的文件并将它们与其原始文件名放在 cports.exe 的同一文件夹中(例如: asn-country-ipv4.csv 、 asn-ipv4.csv、asn- IPv6.csv)

如果您下载国家/地区或城市文件,该信息将显示在“远程 IP 国家/地区”列下。

如果您下载 ASN 文件,信息将显示在“远程 IP ASN”和“远程 IP 公司”列下。

使用过滤器

从版本 1.20 开始,您可以使用“高级过滤器”选项(选项 -> 高级过滤器)仅监视所需的打开端口。

在过滤器对话框中,您可以按以下语法添加一个或多个过滤器字符串(以空格、分号或 CRLF 分隔):

[包括|排除]:[本地|远程|两者 |进程] : [tcp | UDP | tcpudp] : [IP 范围 |端口范围]

以下是一些演示如何创建过滤字符串的示例:

  • 仅显示远程 tcp 端口 80 的数据包(网站):
     包括:远程:tcp:80
  • 仅显示具有远程 tcp 端口 80(网站)和 udp 端口​​ 53(DNS)的数据包:
     包括:远程:tcp:80
     包括:远程:udp:53
  • 仅显示源自以下 IP 地址范围的数据包:192.168.0.1 192.168.0.100:
    包括:远程:tcpudp:192.168.0.1-192.168.0.100
  • 仅显示使用以下端口范围的 TCP 和 UDP 数据包:53 - 139:
    包括:两者:tcpudp:53-139
  • 过滤大多数 BitTorrent 数据包(端口 6881):
    排除:两者:tcpupd:6881
  • 仅显示FireFox浏览器打开的端口:
    包括:进程:firefox.exe

与 IPNetInfo 实用程序集成

如果您想获取有关 CurrPorts 实用程序中显示的远程 IP 地址的更多信息,您可以利用与 IPNetInfo 实用程序集成,以便轻松查看来自 WHOIS 服务器的 IP 地址信息:

  1. 下载并运行最新版本的 IPNetInfo 实用程序。 (如果您的 IPNetInfo 版本早于 v1.06,则必须下载较新的版本。)
  2. 选择所需的连接,然后从“文件”菜单中选择“IPNetInfo”(或直接单击 Ctrl+I)。
  3. IPNetInfo 将检索有关所选连接的远程 IP 地址的信息。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。