Nmap介绍
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
nmap包括LInux版、windows版、Mac版是学习网络安全必学软件之一,nmap的功能也非常强大,常用来主机发现、端口扫描、服务和版本探测、操作系统探测、随机探测、防火墙/IDS绕过和欺骗。
Nmap下载站:http://www.nmap.com.cn
kali自带nmap
Nmap使用方法:
目标选择
nmap -v -A baidu.com #域名作为目标
nmap -v -sP 192.168.0.0/16 10.0.0.0/8 #ip段作为
nmap -sS 220.181.38.251 #ip作为目标
nmap -v -iR 10000 -P0 -p 80 #随机目标,给定筛选条件
-iL 扫描文件内的目标
-iR 随机目标
--exclude <host1> #除host1之外
--excludefile <excludefile> #除excludefile文之外的之际
这里是随机扫描时间很长
主机发现
主机发现有时候也叫做ping扫描,但它远远超越用世人皆知的ping工具 发送简单的ICMP回声请求报文。用户完全可以通过使用列表扫描(-sL)或者 通过关闭ping (-P0)跳过ping的步骤,也可以使用多个端口把TPC SYN/ACK,UDP和ICMP 任意组合起来玩一玩。
-sL 反向解析
-sP 正向扫描 ping
-P0 (无ping)直接探测
-PS 端口 (TCP SYN Ping)#发送SYN数据包探测
-PA 端口(TCP ACK Ping)#发送ACK包探测
-PU 端口 (UDP Ping)#发送UDP数据包探测
-PR (ARP Ping) #内网探测
-n (不用域名解析)
-R (为所有目标解析域名)
端口状态
open(开放的)
closed(关闭的)
filtered(被过滤的)
unfiltered(未被过滤的)
open|filtered(开放或者被过滤的)
closed|filtered(关闭或者被过滤的)
常用的端口扫描
SYN扫描(首选)
nmap -sS 域名或ip
TCP connect()扫描(备用)
nmap -sT 域名或ip
UDP扫描
namp -sU 域名|ip
这里没有UDP端口
可选参数
-p #指定端口扫描
-F #快速扫描
-r #不按端口顺序扫描
服务和版本探测
-sV (版本探测)
nmap -sV 域名或ip
参数
--allports (不为版本探测排除任何端口)
--version-intensity <intensity> (设置 版本扫描强度)
--version-light (打开轻量级模式)
--version-all (尝试每个探测)
--version-trace (跟踪版本扫描活动)
-sR (RPC扫描)
操作系统探测
-O (启用操作系统检测)
nmap -O 域名或ip
参数:
--osscan-limit (针对指定的目标进行操作系统检测)
--osscan-guess; --fuzzy (推测操作系统检测结果)
-A全扫描(速度慢)
nmap -A 域名或ip
参数:
--datadir <directoryname> (说明用户Nmap数据文件位置)
--send-eth (使用原以太网帧发送)
--send-ip (在原IP层发送)
--privileged (假定用户具有全部权限)
--interactive (在交互模式中启动)
nmap用法还有很多如防火墙欺骗、IDS躲避、NAMP输出格式、IPV6扫描
nmap -v scanme.nmap.org#这个选项扫描主机scanme.nmap.org中 所有的保留TCP端口。选项-v启用细节模式。
nmap -sS -O scanme.nmap.org/24 #进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127#进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。
nmap -v -iR 100000 -P0 -p 80#随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20 # 扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。
host -l company.com | cut -d -f 4 | nmap -v -iL - #进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。