除了在 Linux 的主机外, 在其他类型的主机也经常需要检查埠号是否有开启埠号, 例如要测试主机的服务是否正常。
以下是分别用 nc, nmap 及 telnet 测试埠号是否有开启的方法。
nc (netcat)
nc 的意思是 netcat, nc 可以读取经过 TCP 及 UDP 的网络连线资料, 是一套很实用的网络除错工具。
在 CentOS 用 yum 安装 nc:
- # yum install nc
如果只是单纯检查埠号是否有开启, 可以用以下指令, 以下指令会测试 192.168.1.10 的 port 80 是否开启:
- $ nc -zvw3 192.168.1.10 80
如果埠号有开启, 会回传类似以下内容:
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.1.10:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Ncat: Connected to 192.168.1.10:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
如果没有开启, 会回传以下内容:
Ncat: No route to host.
nmap
nmap (Network Mapper) 是另一个可以检查埠号的工具, 检查语法是这样:
在 CentOS 用 yum 安装 nmap:
- # yum install nmap
用 nmap 检查 port 80 是否开启:
- $ nmap 192.168.1.10 -p 80
如果埠号有开启, 会回传以下内容:
Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-27 15:42 HKT
Nmap scan report for 192.168.1.10
Host is up (0.00042s latency).
PORT STATE SERVICE
80/tcp open http
Nmap scan report for 192.168.1.10
Host is up (0.00042s latency).
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
如果没有开启, 会有以下输出:
Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-27 15:45 HKT
Nmap scan report for 192.168.1.10
Host is up (0.00045s latency).
PORT STATE SERVICE
80/tcp filtered http
Nmap scan report for 192.168.1.10
Host is up (0.00045s latency).
PORT STATE SERVICE
80/tcp filtered http
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
Telnet
Telnet 是另一个可以检查埠号的工具.
在 CentOS 用 yum 安装 Telnet:
- # yum install telnet
用 Telnet 检查 port 80 是否开启:
- $ telnet 192.168.1.10 80
如果埠号有开启, 会有以下输出:
Trying 192.168.1.10…
Connected to 192.168.1.10.
Escape character is ‘^]’.
^CConnection closed by foreign host.
Connected to 192.168.1.10.
Escape character is ‘^]’.
^CConnection closed by foreign host.
要离开 Telnet 按 “Ctrl + C” 键.
如果埠号没有开启, 会出现以下结果:
$ telnet 192.168.1.10 80
Trying 192.168.1.10…
telnet: Unable to connect to remote host: Connection refused
Trying 192.168.1.10…
telnet: Unable to connect to remote host: Connection refused