当我们按照某个关闭445端口的教程操作完之后,我们如何去检测是否真的已经关闭了445端口呢?本文给你介绍一个常用的又是最简单的方法。
按 WIN+R 组合键打开运行对话框(不知道哪个是WIN键?),输入 cmd ,按回车键,打开 dos 窗口。
然后输入如下命令:
netstat -ano -p tcp | find "445"
如果没有返回任何记录,则说明已经成功关闭了445端口。如图:
检测是否关闭445端口
不过如果是从防火墙关闭445端口的(参考此文:win7在防火墙入站规则关闭445端口的教程【也适用其他端口如3389】),那么这个命令就不能准确反映是否关闭445端口了,我的理解是,因为从“入站规则”关闭445端口,设置“何时应用该规则”时,说是“计算机连接到公网位置时应用”、“计算机连接到其企业域时应用”和“计算机连接到专用网络位置时应用”,因此,刚才的检测命令是不在“应用”范围内的,但是此防火墙一样是可以防止外部通过445端口进行入侵的。
关闭445端口,我推荐的方法是从组策略关闭端口(445/135/137/138/139/3389等),这个方法适用于所以windows系统,是一个最常用又是最有效的关闭任何一个端口的方法。
知识扩展
netstat 命令简介
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。下面教大家如何使用 netstat 去查找网络连接信息和系统开启的端口号。
netstat 各参数及含义:
C:UsersAdministrator>netstat /?
显示协议统计和当前 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
将打印当前的配置信息一次。
1、查看所有的端口占用情况
C:>netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732
2、查看指定端口的占用情况
C:>netstat -aon|findstr "9050"
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)
3、查看PID对应的进程
C:>tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
nf.exe 2016 Console 0 16,064 K
很清楚吧,nf占用了你的端口。
4、结束该进程
C:>taskkill /f /t /im nf.exe
netstat 命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。