无论您是想在备用端口上使用SSH还是将Web应用程序部署到特定端口,第一步始终是检查该端口是否正在使用。网络故障排除的首选工具之一是netcat实用程序,它也可用于扫描端口。例如,如果我想检查端口号22在我的本地VM上是否打开,我会使用这样的netcat命令:linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?nc-zvn192.168.174.17022例如如您所见,端口号22已打开供连接使用。这很容易。但是等等,您可以使用netcat命令做更多的事情。使用netcat命令扫描端口您需要先安装netcat命令,因为它在许多发行版中都没有预装。对于基于Debian/Ubuntu的发行版:linuxmi@linuxmi/home/linuxmi/www.linuxmi.com让我们开始扫描多个端口。使用netcat命令扫描多个端口要使用netcat一次扫描多个端口,需要遵循给定的命令语法:nc-zvnport1port2port3这里,-z用于指示netcat在不建立连接端口的情况下进行扫描。-v产生更详细的输出。-n停止netcat进行域名解析。使用netcat命令扫描特定范围的端口使用前面的方法确实可以扫描多个端口,但是如果要扫描超过50个或100个端口怎么办?您可以定义范围。例如,如果我想扫描1到100之间的端口,这将是我的命令:linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?nc-vz-w3bing.com1-100你不能指望让他们为你打开端口。但是您可以将它用于您的服务器并且可能会发现打开的端口不可用的端口列表似乎很长,对吧?在这种情况下,您可以使用grep命令仅获取打开的端口:linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?netcat-w1-znv192.168.174.1701-1002>&1|grep成功连接192.168.174.17022端口[tcp/*]成功!连接192.168.174.17023端口[tcp/*]成功!连接192.168.174.17025端口[tcp/*]成功!这里,-w1会强制netcat命令到端口等待1秒。2&1重定向标准错误。