1 nmap的安装和扫描的基本概念
扫描的原理:比如打电话(对方可以接听或者不接)
http://blog.51cto.com/xiaogongju/1972643
检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)
扫描的分解动作:
- 统一沟通语言
- 发出刺激
- 受到刺激的反馈(被扫描主机可能返回也可能不返回)
- 通过对比刺激和反馈完成扫描
2 如何找到网络上的设备
2.1 nmap的输入输出
找到设备地址:DNS解析,直接获取
如何将网络地址告知nmap:
nmap [扫描类型][设置]{设备地址}
地址类型:主机名,IP地址,网段等
-iL<文件名>:通过文件输入地址
-iR<ip地址数目>
--exclude<host1 [,host2],...>:排除主机或者网段
--exclude<exclude_file>:排除文件中的地址
nmap输出:
1. nmap输出的格式参数:
命名中使用时间%H, %M, %S,%m,, %d, %y
nmap输出的格式:
-oN
-oX
-oS
-oG
-oA
2. 输出详细和调试测试
-v
-d[0-9]
--reason
--packet-trace
--open
--iflist
--long-errors
其他设置:用到再说
2.2 确定网络设备
命令行参数:
Ping类型:
- -sL(list scan)不做扫描,只完成DNS和网址的转换
- -sP:(ping scan)默认发ICMP echo请求 和 TCP的ACK请求80端口
- -PN:不使用ping,可能或比较慢,但是主机假如不在也会扫
- -PS<端口号列表>(TCP SYN Ping)发TCP协议SYN标记的空包。默认扫描80端口
- -PA<端口列表>(TCP ACK Ping)发TCP协议ACK标记的空包。默认扫描80端口
- -PU<端口列表>(UDP Ping)默认31338
- -PE;-PP;-PM(ICMP Ping)
- -PO<协议列表>(IP协议Ping)在协议列表中指定使用什么样的协议,要注意语言的统一,你扫人家,你得懂人家的语言,其实就是知道对方使用的什么协议,PO支持好多协议
- -PR(ARP Ping) 二层的,局域网扫描,不能出局域网
其他设置项:
- --traceroute 跳数
- -n 不要做DNS解析
- -R DNS解析所有地址,默认不解析不在线的IP
- -system-dns 使用系统DNS
- --dns-servers<server1>[,<server>[,...]]使用其他DNS
3 端口扫描概要
nmap扫描的端口是什么
协议上的端口号---只是个标记
主机在线端口才有意义,主机相当于大楼,端口相当于房间
为什么扫描端口
端口(TC