端口扫描的基本用途
家里装了新路由器,想看看哪些设备连上了网络?或者你搭了个小服务器,想知道外部能不能访问到它?这时候,端口扫描就能派上用场。它就像一个“网络探针”,帮你发现某台设备上哪些端口是开着的,能提供什么服务。
常见的端口扫描工具
最常用也最简单的工具之一就是 Nmap。它免费、跨平台,功能强大,适合新手和老手。Windows、macOS、Linux 都能用。
安装与基础使用
在 Linux 或 macOS 上,通常可以直接通过命令行安装:
sudo apt install nmap <!-- Ubuntu/Debian -->
brew install nmap <!-- macOS 使用 Homebrew -->
Windows 用户可以去官网下载 Nmap 的图形界面版本 Zenmap,操作更直观。
最简单的扫描命令
想扫描局域网里一台设备(比如 IP 是 192.168.1.100)开了哪些常见端口,直接运行:
nmap 192.168.1.100
回车后你会看到类似这样的结果:
Starting Nmap 7.92 ( https://nmap.org )
Nmap scan report for 192.168.1.100
Host is up (0.045s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3389/tcp open ms-wbt-server
这说明这台设备开了 SSH、网页服务和远程桌面,可能是个树莓派或小型服务器。
扫描指定端口范围
如果你只关心某个范围的端口,比如 80 到 1000,可以这样写:
nmap -p 80-1000 192.168.1.100
或者只想快速检查几个关键端口:
nmap -p 22,80,443 192.168.1.100
加上服务版本探测
光知道端口开着还不够?想知道它跑的是 Apache 还是 Nginx?加个 -sV 参数:
nmap -sV 192.168.1.100
输出可能会显示 http 服务是 Nginx 1.18,SSH 是 OpenSSH 7.6,信息更具体。
实际应用场景
你在公司测试内网安全,怀疑有台设备偷偷开了远程控制服务。用 Nmap 扫一下整个子网:
nmap 192.168.1.0/24
发现一台平时不在线的设备,竟然开了 3389 端口(Windows 远程桌面),这就值得进一步查一查了。
注意事项
端口扫描本身是中性技术,但别乱扫公网 IP,尤其是公司、银行、政府网站。很多系统会记录异常扫描行为,频繁扫描可能被拉黑,甚至引来安全团队关注。自己家里的设备随便扫没问题,对外操作得谨慎。
另外,防火墙可能干扰结果。有的端口明明开着,但被过滤了,Nmap 会标成 filtered,这时候得结合其他方式判断。