我怎么能说端口是打开还是关闭。开放端口和封闭端口的确切含义是什么。
答案 0 :(得分:0)
我最喜欢的检查特定端口是打开还是关闭的工具是telnet
。您可以在所有操作系统上找到此工具。
语法为:telnet <hostname/ip> <port>
这是端口打开时的样子:
telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
如果端口关闭,这就是它的样子:
telnet localhost 9999
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
根据您的使用案例,您可能需要从其他计算机执行此操作,只是为了排除防火墙规则的问题。例如,仅仅因为我能够在本地telnet到端口3306并不意味着其他机器能够访问端口3306.由于防火墙规则,它们可能会将其视为已关闭。
就开放/关闭端口的含义而言,开放端口允许将数据发送到侦听该端口的程序。在上面的示例中,端口3306是打开的。 MySQL服务器正在侦听该端口。这允许MySQL客户端连接到MySQL数据库并发出查询等。
有other tools来检查多个端口的状态。您可以使用Google Port Scanner
以及您正在使用的操作系统获取其他选项。
答案 1 :(得分:0)
打开的端口是可以连接(TCP)/发送数据(UDP)的端口。它是开放的,因为一个过程打开它。
有许多不同类型的端口。 Internet上使用的是TCP和UDP端口。
要查看现有连接列表,可以使用netstat
(在Unix和MS-Windows下可用)。在Linux下,我们使用-l
(--listen
)命令行选项将列表限制为打开的端口(即侦听端口)。
> netstat -n64l
...
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
...
udp 0 0 0.0.0.0:53 0.0.0.0:*
...
raw 0 0 0.0.0.0:1 0.0.0.0:* 7
...
在我的示例中,我显示了打开的TCP端口6000。这通常用于X11访问(因此您可以在计算机之间打开窗口。)
另一个端口53是DNS系统使用的UDP端口。请注意,UDP端口“刚刚打开”。您始终可以向它们发送数据包。您无法像使用TCP / IP那样创建客户端/服务器连接。因此,在这种情况下,您看不到LISTEN状态。
这里的最后一项是“原始”。这是一种本地类型的端口,只能在一台计算机内的进程之间工作。进程可以使用它来发送RPC事件等。