测试TCP、UDP端口的可连接性

在Linux服务器中, 如果需要测试TCP/UDP请求的可连通性, 可以按照以下几种方案进行测试

使用 Telnet

1
2
apt install telnet
telnet hostname port

使用 nc (netcat)

1
2
3
4
apt install netcat
nc -zv hostname port
# -z 选项表示只扫描监听的端口而不发送数据。
# -v 选项表示显示详细的信息。

使用 curl

1
2
apt install curl
curl -I hostname:port

使用 /dev/tcp

这是一个Bash内置功能, 不需要额外安装:

1
2
3
timeout 5 bash -c "</dev/tcp/hostname/port" && echo "Port is open" || echo "Port is closed"
# 或者
echo > /dev/tcp/hostname/port && echo "Port is open"