如何找出程序使用了哪些端口?

如何找出程序使用了哪些端口?

如果某个特定程序向互联网发送数据,我会尝试找出它们使用的端口。有没有工具可以找出这个问题?还是我必须使用 wireshark 进行包检查?

背景:我尝试在我的 fritz!box 7490 路由器上创建一个优先级规则,以便一些计算机游戏被视为实时应用程序,并且尽可能减少延迟,例如,如果网络中的某个人决定在我在线玩游戏时在 youtube 上观看视频。

答案1

  1. 确定程序的 PID

    tasklist | find "myprogram.exe"
    
  2. 检查输出第三列中的端口

    netstat /a /n /o | find " 4564"
    
    • PID 之前有一个空格,用于排除可能来自其他列的不适当匹配(一个小技巧)
    • /n以数字形式保存地址(不解析)导致命令无延迟完成(它应该足以满足您的需要)

答案2

如果您使用的是 Windows,您可以使用免费实用程序“Process Explorer”来实现此目的 - 以及许多其他功能。不过,您必须在管理员模式下运行它。

在此处输入图片描述

答案3

如果您想要优化游戏或 Netflix 流媒体之类的东西,那么您无需担心计算机上的端口 - 那是客户端,并且(在某种程度上)从较高范围的端口中随机选择。您想要的是找出您要连接的服务在哪个端口上提供,并从您的机器优化到这些端口的连接(可能是通过 MAC 地址?或本地局域网 IP)

大多数游戏服务器浏览器都会显示端口信息,或者您可以随时连接到任何服务,然后打开终端窗口(开始 -> cmd.exe)并使用 netstat 找出哪些程序连接到哪些 IP 地址上的哪些端口。以下是 Windows 版本文档的链接 -https://commandwindows.com/netstat.htm

相关内容