如何判断港口是开放还是关闭

时间:2015-03-10 10:17:12

标签: port tcp-ip

我怎么能说端口是打开还是关闭。开放端口和封闭端口的确切含义是什么。

2 个答案:

答案 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事件等。