如何测试主机的某个端口是否开放
文章目录
测试端口是否开放可以用专业的端口扫描工具,但是如果没有太多要求,完全可以用几个简易的命令行来测试。 另外博主自己也写了一个Android应用,开源绿色,文末会给出下载地址。
TCP端口测试
由于TCP是面向连接的协议,所以判断TCP端口是否开放比较容易,只要尝试建立连接,如果可以连上,端口就是开放的。
-
Windows下可以使用telnet命令测试,命令格式如下:
telnet <主机域名或IP> <主机端口>
例如:
telnet www.baidu.com 80
-
Linux下可以使用nc命令
nc -vz <主机域名或IP> <主机端口>
例如:
|
|
UDP端口测试
由于UDP是无连接的协议,所以理论上无法准确测试其端口是否开放,不过有以下两种特殊情况:
-
如果向UDP端口发送数据,有明确回复表示其开放(往往不会有任何回复)
-
某些主机如果向其没有开放的UDP端口发送数据,主机会明确回复一条ICMP_PORT_UNREACH错误,如果收到这个错误可以确定UDP端口未开放。如果长时间没有收到ICMP_PORT_UNREACH错误,则这个UDP端口可能是开放的。
所以对UDP的测试结果只有参考意义,并不准确。telnet只能测试tcp端口,测试UDP端口可以使用nc命令。 例如:
|
|
使用博主原创的Android应用
此项目开源,无广告,可以从这里 下载
只需要填入主机地址和端口号,点开始检测就可以了,支持tcp和udp
使用本站的端口检测网页
https://www.126126.xyz/net/port_check.php
在线端口检测的页面有很多,但是大多数都不支持UDP,而且有广告,本站没有以上两个缺点。