我可以通过nc -zv <server_ip> <port>
或在浏览器里访问它来测试某些特定的端口http://<server_ip>:<port>/
。
但是如何获取服务器上所有可访问端口的列表?
更新:我还可以使用以下命令扫描端口范围:
nc -zv <server_ip> <port_range_start>-<port_range_end> 2>&1 | grep succeeded
答案1
nmap -p1-65535 ${SERVER_IP}
nmap -sU -p1-65535 ${SERVER_IP}
第一种变体扫描所有 TCP 端口;第二种变体扫描所有 UDP 端口。请注意,如果您尝试在公共网络上或针对您不是管理员的服务器/网络进行广泛的端口扫描,则可能会触发 IDS 并被阻止。
答案2
Net map 是一款功能强大的网络扫描器。如果您希望了解有关目标计算机及其开放端口的更多信息,请使用:
sudo nmap -O target.host.com
或者例如
sudo nmap -O 192.168.1.1
这将报告开放端口以及有关目标机器的信息。nmap 有很多选项。请参阅信息或手册页