Nmap扫描原理:
安装了Nmap的主机利用Nmap向目标机器发送大量数据包并判断Nmap输入的命令行中是否包含域名,如果包含需要利用DNS服务器进行域名解析,然后发送ICMP Echo Request(ICMP回送请求报文)来探测主机存活性。 目标机器会进行响应然后反馈数据包给我们的主机。 反馈的信息中就包括了端口信息。 (域名解析:如果你输入的是一个域名,“例:www.baidu.com---->这叫域名” 那需要通过一个DNS服务器, “释:计算机与计算机、计算机与服务器相连接都是通过IP地址,域名的使用是便于我们人方便记忆,但是机器无法识别。DNS服务器作用----->域名解析:将计算机传送来的数据包里面的目标域名进行转换,转换成IP地址,再发送出去”)
使用命令:
nmap 域名 -------->“例:nmap www.baidu.com” 来列举该站点的端口信息。我在操作时使用的时回环地址:127.0.0.1 也有家中无线局域网地址:192.168.101.9 也可以直接手机开热点,这样到时候就会扫出手机的IP地址和电脑的无线IP地址。点击端口就能看到有哪些开放的端口(绿)和有防护?被过滤?未开放?的端口(红)。
指定DNS服务器进行解析:
使用 nmap --dns-servers DNS服务器IP地址 ---->“例:nmap --dns-servers 8.8.8.8 域名”(释:不同的DNS服务器对应的域名解析可能会不同,我们自己也可以搭建DNS来设置域名对应的IP地址来实现DNS劫持。)
对于已经知道主机存活或者防火墙开启的机器,可以使用 -Pn 参数来停止探测之前的ICMP请求。已到达不触发防火墙安全机制。 使用 nmap -Pn 域名 ---->“例:nmap -Pn www.bilibili.com”
在上述扫描时采用的是默认 端口扫描,默认端口范围并不能满足日常工作需要。 可以使用 -p m-n来探测端口范围m-n之间的所有端口 域名 ---->“例:nmap -p 1-1000 127.0.0.1(这样就目标机1-1000范围内的端口了)” ###这里的参数 “-p 范围 ”没有固定格式要求,放在IP、域名前后都可以。
端口状态:
- Open--->表示端口处于开放状态
- Closed--->表示端口处于关闭状态
- Filterd--->表示端口处于过滤无法收到返回的probe状态
- UnFilterd--->表示端口搜收到返回的probe,但是无法确认
- Opend/UnFilterd--->表示端口处于开放或者是未过滤状态
- Closed/UnFilterd--->表示端口处于关闭或者未过滤状态
在使用Zenmap没有输入光标时,可以点击配置---->点击新的配置或命令---->然后点击关闭,就可以了。 除了使用Zenmap图形化界面扫描以外,还可以使用cmd命令行进行nmap的使用,使用命令行通过回车键来反馈扫描进度,ctrl+C 可以直接结束nmap扫描。 nmap命令行模式的效率要比Zenmap图形化界面的效率要高,nmap的命令行是在标准输出流的模式下工作的,不需要经过渲染就输出到终端当中; Zenmap图形化界面是需要渲染得到,这样的渲染是需要时间和资源的,所以nmap命令行模式下效率更高。 “nmap -h”这条命令可以查看nmap自带的帮助信息,其中有很多扫描参数的信息。