下面整理、总结了(Windows平台下)如何查看服务器端口信息的一些方法和工具。
1:tcpview工具查看端口
使用tcpview利器查看端口信息,这个工具不仅能显示当前服务器的端口(Local Port),还能看到一个TCP连接的远程端口号等信息。
2:”资源监视器”查看端口
运行资源管理器的方式多种多样,下面列举了常用的三种方式:
1:在“菜单” → “所有程序” → “附件” → “系统工具” → “资源监视器”
英文系统对应的操作如下:
Start menu → All Programs → Accessories → System Tools → Resource Monitor
2:Windows + R 运行resmon.exe命令启动“资源监视器”。
3:Windows任务管理器中点击“资源监视器”
如下截图所示,在“资源监视器”里面,你会找到“侦听端口”面板,你会找到对应的程序名、进程号、协议、防火墙状态,地址、端口。信息比较详细,定期刷新。也能清晰的看到防火墙是否限制该端口号。另外也可以按某些指标排序。不足之处也比较明显:搜索定位比较麻烦,归纳统计比较麻烦。
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 常见表达法的详细情况,请见联机命令参考。
参考资料: