NMAP扫描局域网内在线IP

读了吴翰清的《白帽子讲web安全》,对网络这块很感兴趣,于是了解到了NMAP这款开源的端口扫描工具,扫了一下局域网里的在线主机,做个简记。

安装 nmap

操作系统安装命令
Windows去官网下载安装
Debian/Ubuntusudo apt-get install nmap
CentOS/RHELsudo yum install nmap

扫描局域网内在线主机

常用命令

1
2
3
4
nmap -sP 192.168.1.*       # 扫描 192.168.1.* 网段内主机
nmap 192.168.1.* # 扫描网段内所有主机对外开放的端口(也可扫描单机)
nmap -p 8080,80 192.168.1.1-254 # 查看网段内所有在线主机是否开放 8080,80 端口
cat /proc/net/arp # 查看扫描后信息(可看到 MAC 地址)

命令速查表

命令说明示例
nmap -sP仅主机发现(Ping扫描)nmap -sP 192.168.1.0/24
nmap -p指定端口扫描nmap -p 80,443 192.168.1.1
nmap -sV检测服务版本nmap -sV 192.168.1.1
nmap -O识别操作系统(需root)nmap -O 192.168.1.1
nmap -Pn跳过主机发现,直接扫描nmap -Pn 192.168.1.1

扫描示例

如下图:

nmap 扫描结果

查看 ARP 表信息:

ARP 表信息

其他参数

  • nmap -sV 192.168.1.1 可检测到服务端软件版本信息
  • nmap -O 能识别主机的操作系统(需要 root 权限)
  • nmap -Pn 假若远程主机屏蔽了 ping 功能,NMAP 就不会进一步做端口检测,可以使用这个参数禁止主机检测,NMAP 会直接认为主机已在线,再做进一步检测

扫描类型详解

扫描类型参数说明适用场景
TCP SYN 扫描-sS半开放扫描,速度快默认扫描类型
TCP Connect 扫描-sT完成三次握手无root权限时
UDP 扫描-sU扫描UDP端口检测UDP服务
ICMP 扫描-sn仅Ping扫描主机发现

注意事项

  1. 权限要求:某些扫描类型(如 -O)需要 root 权限
  2. 网络影响:大规模扫描可能影响网络性能
  3. 法律合规:仅扫描授权的网络,避免非法扫描