在 Linux 上
-
查看所有端口: sudo netstat -tuln -
查看特定端口(例如,检查是否有服务在监听 80 端口): sudo netstat -tuln | grep ‘:80’
在 Windows 上
-
打开命令提示符。 -
输入以下命令查看所有端口: netstat -an -
查看特定端口(例如,检查是否有服务在监听 80 端口): netstat -an | findstr :80
方法 2: ss
在 Linux 上
-
查看所有端口: sudo ss -tuln -
查看特定端口(例如,检查是否有服务在监听 80 端口): sudo ss -tuln | grep ‘:80’
方法 3: lsof
在 Linux 上
-
查看所有端口: sudo lsof -i -P -n -
查看特定端口(例如,检查是否有服务在监听 80 端口): sudo lsof -i -P -n | grep ‘:80’
方法 4: 使用 nmap 进行端口扫描
-
安装 nmap(如果尚未安装): sudo apt-get install nmap # 在 Debian/Ubuntu 上
sudo yum install nmap # 在 CentOS/RHEL 上 -
扫描特定服务器的端口: nmap -p 80 <server_ip> -
扫描特定范围内的所有常见端口: nmap <server_ip>
示例
使用 ss
使用 netstat
方法 5: Telnet(适用于简易检测)
-
尝试连接到指定端口: telnet <server_ip> 8080如果连接成功,则说明端口 8080 是开启的。
Bash
1echo > /dev/tcp/目标主机地址/端口号
例如,想要测试服务器example.com
的80端口是否开放,你可以运行:
Bash
1echo > /dev/tcp/example.com/80
当命令执行后,若端口是开放的,命令不会有任何输出并且会立即返回命令提示符;若端口未开放或连接失败,则可能由于网络问题、防火墙限制等原因导致命令执行失败,通常会显示错误信息,比如“Permission denied”、“Connection refused”或“Network is unreachable”。
不过需要注意的是,这种方法只适用于那些支持此特性的Bash环境,不具有普遍性,而且它并不会像专门的网络工具(如telnet
、nc
或netcat
)那样提供详细的连接状态信息。在Windows系统下,你需要使用其他工具或命令来测试端口。
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/77685.html