Bor*_*vić 117 networking windows firewall port
在 Windows 平台上,我必须使用哪些本机选项来检查本地计算机(如 )上的端口(例如 3306 localhost)是否被阻止?
nik*_*nik 118
由于您使用的是 Windows 计算机,因此可以执行以下操作:
执行以下命令并查找“:3306”侦听器(您没有提到 UDP/TCP)。这将确认端口上有什么东西在运行。
netstat -a -n
在此之后,如果您希望此端口上有传入连接并觉得防火墙可能阻止了它们,您可以使用启动 Windows 防火墙日志记录并检查日志中是否有断开的连接
还有一个命令可以检查防火墙状态
(为 Windows 7 用户更新 -Nick如下所述 - 使用netsh advfirewall firewall)
netsh 防火墙显示状态
此命令将转储 Windows 防火墙配置详细信息
netsh 防火墙显示配置
如果您在开始记录后有一个活动阻止(传入连接被防火墙丢弃),您应该在日志中看到它。
如果您正在运行正在侦听 3306 的应用程序/服务,防火墙配置应将其显示为已启用。如果没有看到,您可能错过了添加防火墙例外以允许此应用程序/服务。
最后,端口 3306 通常用于 MySQL。所以,我假设你在这台 Windows 机器上运行 MySQL 服务器。因此,您应该看到 3306 接受传入连接的侦听器。如果您没有看到,您需要使用您的应用程序 (MySQL) 来首先开始。
Tim*_*ner 31
NETSTAT会告诉您该端口是否正在侦听,但不会告诉您该端口是否对外界开放。我的意思是这NETSTAT可能表明 0.0.0.0 正在侦听端口 3306,但防火墙可能仍在阻止阻止外部连接的端口;所以仅仅依靠是不够的NETSTAT。
检查端口是否被阻止的最佳方法是从客户端计算机进行端口扫描。
有很多方法可以进行端口扫描,但是既然您提到在 Windows 上,那么我建议使用 Microsoft 命令行实用程序PortQry和图形版本PortQryUI
测试所有开放端口:
portqry.exe -n #.#.#.#
Run Code Online (Sandbox Code Playgroud)
要测试特定端口:
portqry.exe -n #.#.#.# -e #
Run Code Online (Sandbox Code Playgroud)
例如测试 192.168.1.1 路由器的 Web 界面:
portqry.exe -n 192.168.1.1 -e 80
Run Code Online (Sandbox Code Playgroud)
返回:
TCP port 80 (http service): LISTENING
Run Code Online (Sandbox Code Playgroud)
在没有运行 HTTPD 的本地机器上测试返回:
TCP port 80 (http service): NOT LISTENING
Run Code Online (Sandbox Code Playgroud)
使用 PortScan 实用程序,您将获得 3 个结果之一。
Listening 表示服务器正在侦听指定端口Filtered 意味着它收到了一个带有重置标志的 TCP 确认数据包,这可能表明防火墙或软件问题Not Listening 意味着它根本没有收到回复telnet是默认情况下通常安装在操作系统上的另一个命令行选项。此命令行实用程序可用于快速查看端口是否响应网络请求。
要使用,telnet您只需从命令提示符发出以下命令:
telnet localhost 3306
Run Code Online (Sandbox Code Playgroud)
上面的命令应该会给你一个快速的指示,如果端口3306在localhost响应。
Mar*_*nus 29
从 PowerShell 4.0 开始,您可以使用该命令 Test-NetConnection
如果你想在你的例子中测试端口 3306,命令是
Test-NetConnection -ComputerName localhost -Port 3306
Run Code Online (Sandbox Code Playgroud)
Bre*_*nt 5
如果您可以从本地机器(使用外部 IP 地址)telnet 到端口,但不能从另一台机器 telnet 到端口 - 那么它就会在两者之间被阻止。
请注意,本地计算机上的防火墙甚至可能阻止第一个操作。
| 归档时间: |
|
| 查看次数: |
944224 次 |
| 最近记录: |