首先,这不包含我的答案。
我想查找哪个防火墙规则允许特定端口1433
在我的服务器中,已安装 Plesk,并且禁用了"MS SQL over TCP 协议"防火墙规则。不知何故,我可以从远程连接连接到 SQL Server。有一个防火墙规则允许 1433 TCP 连接,但哪一个?是否有任何命令可以查找哪个防火墙规则允许 1433。
来源
以管理员身份运行
cls
Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -Eq "1433" } | Get-NetFirewallRule |
Format-Table -Autosize -Property DisplayName,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled, Profile, Direction, Action
解决这个问题的最简单方法是通过网络事件。
- 以管理员身份启动命令行。
- 运行
netsh wfp cap start keywords=19
- 让流量流经端口 1433
- 运行
netsh wfp cap stop
- 在Wfpdaig中打开Wfpdiag.xml.cab由上述步骤生成。
- 使用
<localPort>1433</localPort>
搜索所有网络事件,并从<classifyAllow>
获取过滤器ID - 搜索 filterId,
<displayData>
应该会告诉您哪个规则允许数据包。