首页 帮助中心 美国云服务器 用nc命令检查远程端口是否支持访问
用nc命令检查远程端口是否支持访问
时间 : 2024-12-25 11:01:31 编辑 : 华纳云 阅读量 : 233

端口属于逻辑实体,作为linux操作系统上应用程序和进程相关联的通信端点。使用前需要先了解目标服务器上有哪些端口是开放且对正在运行服务有用的。可以用netstat或其他linux命令如NMAP等来查找出本地服务器上linux的开放端口。下面华纳云会分享用简单netcat简称nc命令查找远程服务器端口是否开放。

netcat属于强大切实用的程序,可以用于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及更高版本下进行端口扫描。用nc检查单个、多个或一系列开发端口,如下面命令可以用于查看192.168.1.15 11服务器的端口22是否开放:

$ nc -zv 192.168.1.15 11

zz选项表示扫描模式,设置nc仅扫描监听守护进程,而不实际向目标服务器发送任何数据;v是启用详细模式。

还可以检查192.168.56.22远程主机上端口80、22和21是否打开:

 nc -zv 192.168.56.22 80 22 21

指定要扫描端口范围:

$ nc -zv 192.168.56.22 20-80

还可以nc命令监听本地端口,监控是否存在外部连接,如监听本机1000号端口:

nc -l -p 1000

存在尝试连接该端口行为,nc会显示连接信息。

nc也可以在两台服务器之间传输文件来测试网络连通性和数据传输的安全性,如发送文件:

nc -vn 192.168.1.1  < test.txt -q 1

接收文件:

nc -lp 333 > 1.txt

可用来测试网络传输的安全性和完整性。

nc命令也能发送HTTP请求,可以测试目标服务器HTTP服务器是否响应:

echo -e "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80

可以用于检查web服务器可用性和响应。

nc配合其他工具,可以进行综合网络诊断和安全扫描。如检查DNS解析、路由追踪和常用端口状态等:

network_diagnosis "example.com"

Nc输出结果中,如端口扫描输出结果会有目标主机端口状态信息,表示连接成功(意味着端口开放):

Connection to <hostname> <port> port [tcp/*] succeeded!

如果是目标端口没有监听或防火墙阻止连接,表示端口关闭或者超时:

nc: connect to <hostname> port <port> (tcp) failed: Connection refused

超时的结果显示(存在网络延迟/目标不可达/端口未开放):

nc: connect to <hostname> port <port> (tcp): Operation timed out

网络未连接:

nc: connect to <hostname> port <port> (tcp): Network is unreachable

端口存在过滤:

nc: connect to <hostname> port <port> (tcp): Connection timed out

详细信息:

nc -v <hostname> <port>

扫描多个端口:

nc -zv <hostname> <port1> <port2> <port3>

更多内容请继续关注我们华纳云

华纳云 推荐文章
美国云服务器常用端口介绍   如何通过SSH实现TCP/IP隧道(端口转发)? centos服务器安装nexus端口冲突怎么解决? FreeBSD系统中查找开放端口的常用方法 一个网络端口上创建多个IP地址的方法 rsync命令在Linux中的常用方法 除了443外还有哪些端口常用于加密通信 找出Linux当前正在监听的全部端口 Greenplum启动时 SSH22端口连接失败 SMTP常用端口号和安全维护方法
客服咨询
7*24小时技术支持
技术支持
渠道支持