下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,
udp 0 0 42.11.12.13:123 0.0.0.0:* 1472/ntpd
1.我们首先使用telnet连接,如下
[root@kr-sg-test ~]# telnet 42.11.12.13 123
Trying 42.11.12.13…
telnet: connect to address 42.11.12.13: Connection refused
telnet: Unable to connect to remote host: Connection refused
很明显,telnet连接被拒绝,无法测试成功。
2.我们使用nc来进行测试,如下
[root@kr-sg-test ~]# nc -vuz 42.11.12.13 123
Connection to 42.11.12.13 123 port [udp/ntp] succeeded!
结果证明UDP 123端口正常监听。
nc命令用法:
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
测试udp 服务的端口是否可用 d 服务上,就会报错, 因为telnet 走的是tcp 协议, 比如说192.168.80.131 在8888 端口上上启了个udp 的服务,这是使用telnet 192.168.80.131 8888,就会报如下错误:Trying 192.168.80.131... telnet: connect to address 192 .168.80.131: Connection refused 此时, 可以使用nc 这个工具, 大多数的发行版都自带这个工具, fedora 9 的/usr/bin/nc 所属的安装包是 nc-1.84-16.fc9.i386nc -l -u 192.168.80.129 8001 使用命令nc -u 192.168.80.129 8001, 在这里输入字符串, 服务端就会回显相同的字符串,表示8001 端口上的udp 服务是否启用.suse 上的是用netcat, 方法基本上差不多:netcat -l -u -p 8001 这样就可以在0.0.0.0 上侦听udp 的8001 端口从另外一台机器,或者打开本机的另外一个虚拟终端, 输入:netcat -u 192.168.1.123 8001 在这里输入字符串, 就会回显一个相同的字符串,表示链接是OK 的翻译自:How to Test Port[TCP/UDP] Connectivity from a Linux Server (文档 ID 2212626.1)
适用于:
Linux OS - Version Oracle Linux 5.0 to Oracle Linux 6.8 [Release OL5 to OL6U8]
Information in this document applies to any platform.
目标:
在Linux服务器上检查TCP/UDP端口的连通性。
解决方案:
telnet和nc 是用来测试端口连通性的一般工具。
telnet可以测试tcp端口的连通性。
nc可以测试tcp和udp端口的连通性。
请确保telnet和nc工具已经安装
# yum install nc
# yum install telnet
测试tcp端口的连通性:
语法如下:
在CODE上查看代码片派生到我的代码片
telnet <hostname/IP address><port number>
如下是连通成功的例子:
在CODE上查看代码片派生到我的代码片
# telnet 192.118.20.95 22
Trying 192.118.20.95...
Connected to 192.118.20.95.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.6.1
Protocol mismatch.
Connection closed by foreign host.
如下是连通不成功的例子:
在CODE上查看代码片派生到我的代码片
# telnet 192.118.20.95 22
Trying 192.118.20.95...
telnet: connect to address 192.118.20.95: No route to host
使用nc命令来测试tcp端口的连通性:
语法:
在CODE上查看代码片派生到我的代码片
nc -z -v <hostname/IP address><port number>
如下是连通成功的例子:
在CODE上查看代码片派生到我的代码片
# nc -z -v 192.118.20.95 22
Connection to 192.118.20.95 22 port [tcp/ssh] succeeded!
如下是连通不成功的例子:
在CODE上查看代码片派生到我的代码片
# nc -z -v 192.118.20.95 22
nc: connect to 192.118.20.95 port 22 (tcp) failed: No route to host
使用nc命令来测试udp端口的连通性:
语法:
在CODE上查看代码片派生到我的代码片
nc -z -v -u <hostname/IP address><port number>
在CODE上查看代码片派生到我的代码片
# nc -z -v -u 192.118.20.95 123
Connection to 192.118.20.95 123 port [udp/ntp] succeeded!
nc检测端口的用法
nc -z -w 10 %IP%%PORT%
-z表示检测或者扫描端口
-w表示超时时间
-u表示使用UDP协议
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)