檢測tcp/udp端口是否可用 telnet nc

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了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章