下面整理、总结了(Windows平台下)如何查看服务器端口信息的一些方法和工具。

1:tcpview工具查看端口

使用tcpview利器查看端口信息,这个工具不仅能显示当前服务器的端口(Local Port),还能看到一个TCP连接的远程端口号等信息。

 title=
2:”资源监视器” 查看端口

运行资源管理器的方式多种多样,下面列举了常用的三种方式:

1:在“菜单” → “所有程序” → “附件” → “系统工具” → “资源监视器”

英文系统对应的操作如下:

Start menu → All Programs → Accessories → System Tools → Resource Monitor

2:Windows + R 运行resmon.exe命令启动“资源监视器”。

3:Windows任务管理器中点击“资源监视器”

如下截图所示,在“资源监视器”里面,你会找到“侦听端口”面板,你会找到对应的程序名、进程号、协议、防火墙状态,地址、端口。信息比较详细,定期刷新。也能清晰的看到防火墙是否限制该端口号。另外也可以按某些指标排序。不足之处也比较明显:搜索定位比较麻烦,归纳统计比较麻烦。

[ title=

3:命令netstat查看端口

netsta命令非常强大,可以用显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

查看netstat命令的帮助信息:

C:\Users>netstat --help
显示协议统计和当前 TCP/IP 网络连接。
 
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
 
  -a            显示所有连接和侦听端口。
  -b            显示在创建每个连接或侦听端口时涉及的可执行程序。
                在某些情况下,已知可执行程序承载多个独立的
                组件,这些情况下,显示创建连接或侦听端口时涉
                及的组件序列。此情况下,可执行程序的名称
                位于底部[]中,它调用的组件位于顶部,直至达
                到 TCP/IP。注意,此选项可能很耗时,并且在您没有
                足够权限时可能失败。
  -e            显示以太网统计。此选项可以与 -s 选项结合使用。
  -f            显示外部地址的完全限定域名(FQDN)。
  -n            以数字形式显示地址和端口号。
  -o            显示拥有的与每个连接关联的进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto 可以是下列任
                何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选
                项一起用来显示每个协议的统计,proto 可以是下列任
                何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
                或 UDPv6。
  -r            显示路由表。
  -s            显示每个协议的统计。默认情况下,显示
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6
                的统计;-p 选项可用于指定默认的子网。
  -t            显示当前连接卸载状态。
  interval      重新显示选定的统计,各个显示间暂停的间隔秒数。
                按 CTRL+C 停止重新显示统计。如果省略,则 netstat
                将打印当前的配置信息一次。

注意:Windows下的netstat的命令跟Linux下的netstat命令的参数有所区别,最好查看命令的帮助信息。

一些netstat命令的例子,nestat命令的强大之处在于灵活多变,可以满足各种场景。

查看所有监听的端口

C:\Users>netstat -aon | find /i "listening"
 
 
C:\Users>netstat -ano | findstr ":139"
  TCP    192.168.103.63:139     0.0.0.0:0              LISTENING       4
 
C:\Users>netstat -aon | find /i "listening" | find "445"
  TCP    192.168.103.63:139     0.0.0.0:0              LISTENING       4
 
C:\Users>

显示UDP端口号的使用情况:

C:\Users>netstat -a -p UDP

其中find命令的帮助信息如下:

C:\Users>find /?
在文件中搜索字符串。
 
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
 
  /V         显示所有未包含指定字符串的行。
  /C         仅显示包含字符串的行数。
  /N         显示行号。
  /I         搜索字符串时忽略大小写。
  /OFF[LINE] 不要跳过具有脱机属性集的文件。
  "string" 指定要搜索的文本字符串。
  [drive:][path]filename
             指定要搜索的文件。
 
如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。

其中finstr命令的帮助信息如下:

C:\Users>findstr /?
在文件中寻找字符串。
 
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]
 
  /B         在一行的开始配对模式。
  /E         在一行的结尾配对模式。
  /L         按字使用搜索字符串。
  /R         将搜索字符串作为一般表达式使用。
  /S         在当前目录和所有子目录中搜索匹配文件。
  /I         指定搜索不分大小写。
  /X         打印完全匹配的行。
  /V         只打印不包含匹配的行。
  /N         在匹配的每行前打印行数。
  /M         如果文件含有匹配项,只打印其文件名。
  /O         在每个匹配行前打印字符偏移量。
  /P         忽略有不可打印字符的文件。
  /OFF[LINE] 不跳过带有脱机属性集的文件。
  /A:attr    指定有十六进位数字的颜色属性。请见 "color /?"
  /F:file    从指定文件读文件列表 (/ 代表控制台)。
  /C:string  使用指定字符串作为文字搜索字符串。
  /G:file    从指定的文件获得搜索字符串。 (/ 代表控制台)。
  /D:dir     查找以分号为分隔符的目录列表
  strings    要查找的文字。
  [drive:][path]filename
             指定要查找的文件。
 
除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
"there"。'FINDSTR /C:"hello there" x.y' 文件 x.y  寻找
"hello there"。
 
一般表达式的快速参考:
  .        通配符: 任何字符
*        重复: 以前字符或类出现零或零以上次数
  ^        行位置: 行的开始
  $        行位置: 行的终点
  [class]  字符类: 任何在字符集中的字符
  [^class] 补字符类: 任何不在字符集中的字符
  [x-y]    范围: 在指定范围内的任何字符
  \x       Escape: 元字符 x 的文字用法
  \<xyz    字位置: 字的开始
  xyz\>    字位置: 字的结束
 
有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
最后修改:2022 年 02 月 02 日
如果觉得我的文章对你有用,请随意赞赏