Linux学习之路我用 LinuxLinux

检测tcp/udp端口是否可用

2019-02-12  本文已影响9人  阳一yayi

telnet

我们一般检查服务的端口是否可用,通常使用telnet工具。

使用方法:

# telnet 192.168.173.82 22
Trying 192.168.173.82...
Connected to 192.168.173.82.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
^C
Connection closed by foreign host.

但如果是udp的服务,telnet检测就会失效,因为telnet是基于tcp协议的。此时可以使用uc这个工具,大多linux发行版都自带这个工具。

nc

使用方法:

# nc -vuz 192.168.173.103 750
Connection to 192.168.173.103 750 port [udp/kerberos4] succeeded!

上面例子显示结果是通的。

但是要注意,如果对端开启了防火墙,防火墙把包DROP了,那么是收不到端口不可达消息的,那么使用nc命令就会发现实际不通的端口是通的。

仔细想想UDP的原理就清楚了,UDP不像TCP一样需要ACK,所以过一段时间没收到端口不可达,UDP就认为端口是通的,但是实际上UDP数据被防火墙DROP了。

上一篇 下一篇

猜你喜欢

热点阅读