1 概述
Nmap是一款网络扫描和主机检测的非常有用的工具,适用于winodws,linux,等操作系统,支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。
每个端口的状态有:open、filtered、unfiltered。
open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。
filtered状态表示:防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止 nmap探测其是否打开。
unfiltered表示:这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。
yum -y install nmap
2 语法
nmap <扫描类型> <扫描参数> <IP地址与范围>
扫描类型:
-sT:扫描TCP数据包以建立的连接connect()
-sS:扫描TCP数据包带有SYN数据的标记
-sP:以ping方式进行扫描
-sU:以UDP数据包格式进行扫描
-sO:以IP协议进行主机扫描
扫描参数:
-PT:使用TCP的ping方式进行扫描,可以获取当前已经启动几台计算机
-PI:使用实际的ping(带有ICMP数据包)进行扫描
-p:这个是端口范围,如:1024~,80~1023,30000~60000
IP地址与范围:
192.168.0.100:直接写入IP,仅检查一台主机
192.168.0.0/24:为C Class的网段
192.168.*.*:以B Class的网段,扫描范围更广
192.168.0.0~50,60~100,103,200:变形的主机范围
-v 使用-v选项可得到更详细的输出
-O 或者-A 试图识别远程操作系统
范例:
nmap localhost #查看当前主机所开放的端口
nmap -p 1024-65535 localhost #查看当前主机端口(1024-65535)中开放的端口
nmap -PS 192.168.21.163 #探测目标主机开放的端口
nmap -PS22,80,3306 192.168.21.163 #探测所列出的目标主机端口
nmap -O 192.168.21.163 #探测目标主机操作系统类型
nmap -PT 192.168.1.171-177 :已ping方式扫描数台主机
关闭或者打开主机端口
ntsysv #打开系统服务器管理器(需要先安装yum install ntsysv),选择要关闭或者打开的服务
1) 获取远程主机的端口信息和识别主机操作系统
nmap -sS -P0 -sV -O <target>
2) 获取指定端口22是不是开启
nmap -p 22 -v -sT 192.168.1.1
3) 获取网络中所有存活的主机
nmap -sP 192.168.0.*
4) ping一个范围内的IP地址
nmap -sP 192.168.1.100-254
5) 扫描特定主机上的80,21,23端口
nmap -p80,21,23 192.168.1.1
6) 扫描单一的一个主机
#nmap 192.168.1.2
7) 扫描整个子网
nmap 192.168.1.1/24
8)扫描多个目标
nmap 192.168.1.2 192.168.1.5
9)扫描一个范围内的目标
nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
10) 如果你想看到你扫描的所有主机的列表
nmap -sL 192.168.1.1/24
11) 扫描除过某一个ip外的所有子网主机
nmap 192.168.1.1/24 -exclude 192.168.1.1