假设我想知道某个端口(例如 21)是打开还是关闭。
实现该目的的最佳 shell 命令是什么?
答案1
我最喜欢的是:
从本地机器
sudo lsof -i -n -P
netstat -an | grep LISTEN | grep -v ^unix
netstat -ntulp
从远程盒子
nmap -v -A ip_address
答案2
netstat
会告诉你这一点。要检查所有开放(监听)端口:
netstat -l
您还可以显示所有当前连接:
netstat -an
请参阅手册页以了解更多信息,netstat 是一个非常强大的工具:)
答案3
nmap -A -T4 localhost -p 80
它甚至会显示操作系统版本和该端口上的服务
答案4
您可以使用telnet
它来尝试连接给定主机上的 TCP 端口:
telnet somehost.example.com 21
尝试连接到 somehost.example.com 上的端口 21
如果端口关闭,您会收到类似以下消息
telnet: Unable to connect to remote host: Connection refused
否则,您将看到监听该端口的程序在连接时告诉您的任何内容。