使用 nc 命令检查远程端口是否打开
| 2017-02-09 11:50:00 评论: 4
端口是与 Linux 操作系统上的应用或进程的通讯端点的逻辑实体。在使用之前,了解目标机器上哪些端口是打开并正在运行服务是非常有用的。
我们可以使用 netstat 或其他几个 Linux 命令如 NMAP 在本地机器上轻松地列出 Linux 中的打开端口。
在本指南中,我们将向你展示如何使用简单的 netcat
(简称 nc
)命令来确定远程主机上的端口是否可访问/打开。
netcat
(或简称 nc
)是一个功能强大且易于使用的程序,可用于 Linux 中与 TCP、UDP 或 UNIX 域套接字相关的任何事情。
# yum install nc [在 CentOS/RHEL 中]
# dnf install nc [在 Fedora 22+ 中]
$ sudo apt-get install netcat [在 Debian/Ubuntu 中]
我们可以使用它:打开 TCP 连接、侦听任意 TCP 和 UDP 端口、发送 UDP 数据包、在 IPv4 和 IPv6 进行端口扫描。
使用 netcat,你可以检查单个或多个或一段打开的端口范围,如下所示。下面的命令将帮助我们查看端口 22 是否在主机 192.168.56.10 上打开:
$ nc -zv 192.168.1.15 22
上面的命令中,这些标志是:
-z
– 设置 nc 只是扫描侦听守护进程,实际上不向它们发送任何数据。-v
– 启用详细模式
下面的命令会检查远程主机 192.168.5.10 上是否打开了端口 80、22 和 21(我们也可以使用主机名):
nc -zv 192.168.56.10 80 22 21
也可以指定端口扫描的范围:
$ nc -zv 192.168.56.10 20-80
更多关于 netcat 命令的例子和使用,阅读我们下面的文章。
就是这样。在本文中,我们解释了如何使用 netcat 命令检测远程主机端口是否可达/打开。请在评论栏中留下你的想法。
- linux [Chrome 56.0|Mac 10.11] 2017-02-09 21:41
- 有趣的命令!
- linux [Chrome 56.0|Mac 10.11] 2017-02-09 21:40
- 汗,谁干的?!
- 来自四川成都的 Chrome 55.0|GNU/Linux 用户 2017-02-09 12:25
- P.S. 译者简介成作者简介了。
- 来自四川成都的 Chrome 55.0|GNU/Linux 用户 2017-02-09 12:23
- > /dev/tcp/DNSNAME_OR_IP/PORT
这样可以测 tcp 端口,至于 udp 端口,虽然也可以用,但是受限于协议本身,不能看出端口是否打开。