Nmap学习
emmm, 可能比较乱,也不全…(太菜,以后改善吧)
什么是Nmap:
- 存活主机
- 端口扫描
- 防火墙侦测
- 漏洞扫描
- 操作系统等
Nmap功能:
- 端口扫描
- 版本探测
- 漏洞扫描
- 防火墙规避
- 输出报告
Nmap基本使用:
目标选择:
1.域名 (baidu.com)
nmap baidu.com
2.IP (1.1.1.1)
nmap 1.1.1.1
3.IP段 (1.1.1.1/24) 后面的/x
代表网络号占的位数
nmap 10.0.0.0/24 (10.0.0.0-10.0.0.255)
nmap 10.0.0.0/16 (10.0.0.0-10.0.255.255)
-iL:
输入一个文件(扫描文件里的内容)
nmap -iL ip.txt
-iR:
随机选择目标扫描(下例:随机选择3个目标扫描)
nmap -iR 3
–exclude:
排除目标(可排除多个,之间用逗号隔开)
nmap -iL ip.txt --exclude baidu.com
-v:
输出详细的信息 (一般用于其他指令之后)
主机发现:
sL: 将要扫描的目标列出来。
-Pn: 告诉nmap这个主机一定在线,不需要去发现了,直接做端口扫描就可以。
nmap -Pn 8.8.8.8
-sn: 与ping作用类似,来主机发现。
端口扫描基础:
端口分成6个状态:open(开放的)
、closed(关闭的)
、filtered(被过滤的)
、unfiltered(未被过滤的)
、open|filtered(开放或被过滤的)
,或者closed|filtered(关闭或被过滤的)
。
这些状态并非端口本身的性质,而是描述Nmap怎么看待它们。例如:对于同样的目标机器的135/tcp
端口,从同网络扫描显示它是open(开放的),而跨网络作完全相同的扫描则可能显示它是filtered(被过滤的)。
端口说明和扫描顺序:
-p (只扫描指定的端口): 该选项指明想扫描的端口,覆盖默认值。
nmap -p 80 xxx.com
-F(快速(有限的端口)扫描): 扫一些主要的端口,数量较少。
-r(不按随机顺序扫描):
-sL(列表扫描): 仅仅列出指定网络上的每台主机。
-sP(Ping扫描): 仅仅进行ping扫描(主机发现),然后打印出对扫描做出响应的那些主机。
-p0(无ping): 跳过Nmap发现阶段,一般应该是指定主机的情况用吧。
-Ps [portlist] (TCP SYN Ping): 通过TCP SYN 去ping的,判断主机在不在线。
**-PR(ARP Ping): ** 通过ARP去ping。
-sV(版本探测): 打开版本探测。也可以**-A**同时打开操作系统探测和版本探测。
…
端口扫描技术:
-sS(TCP SYN扫描):
SYN扫描作为默认的也是最受欢迎的扫描选项,执行快、不易被发现(因为从不完成TCP连接)、还可以明确可靠地区分open
,closed
,filtered
状态。
常常被称为半开放扫描,因为它不打开应该完全的TCP连接。它发送一个SYN报文,就像要打开一个连接,然后等待响应。
-sT(TCP connect()扫描):
当SYN扫描不可用时,**CP Connect()**扫描就是默认TCP扫描。
-sU(UDP扫描):…
…
-sV: 检测服务器。(版本)
-O: 检测操作系统交换机。
-A: 包含了-sV
与-O
。
扫描常用端口命名:
nmap deelmind.com --top-ports 1(数字可以变,为要扫描的端口数)
用脚本扫描并保存到指定目录:
nmap --script=./a(脚本路径) -A -oN ./var/r.txt(指定路径与文件名)
-F: 也是快速常用端口扫描,但还是比较多的。
-n: 扫描时,不做DNS解析。
-e: 指定网卡。
nmap 8.8.8.8 -n -T3 -sS -A -e eth0
欺骗防火墙:
-D: 后面跟伪造IP来欺骗防火墙。
-g: 伪造端口。
nmap -F -O -D1.1.1.1,2.2.2.2 -g996 8.8.8.8 -n
仿造了1.1.1.1,2.2.2.2的IP与996端口来欺骗迷惑防火墙,扫描8.8.8.8的常用端口不做DNS解析,且检测其操作系统交换机。
MAC地址伪造: --spoof-mac ff:00:0c:29:41:44(mac地址)
空闲扫描:
nmap -Pn -sI ip:port target
(port:端口,target:目标主机)
常用的命令:
nmap --top-ports 10 -sS ip -A
nmap -iR 10000 -p 3389 -sS -A -oN /o.txt
-sS(TCP SYN扫描):
SYN扫描作为默认的也是最受欢迎的扫描选项,执行快、不易被发现(因为从不完成TCP连接)、还可以明确可靠地区分open
,closed
,filtered
状态。