Nmap之___列举远程机器开发的端口
Nmap列举远程机器开发的端口原理
Nmap扫描原理示意图:
Nmap列举远程机器开放的端口
使用
namp scanme.nmap.org
来列举该站点的端口信息,一下给出zenamp下扫描结果,也可以是使用命令行下的nmap来探测。
使用图形化界面进行扫描:
通过命令行进行扫描:
nmap进行探测之前要把域名通过DNS服务其解析为IP地址,我们也可以使用指定的DNS服务器进行解析。使用 --dns-servers参数来指定。
下面这个就是通过DNS服务解析得到的IP地址;(图形化界面)
通过命令行去ping,发现IP地址和Nmap解析出来是一样的
指定DNS服务器进行解析扫描:(这里使用谷歌的DNS8.8.8.8)
图形化界面:
命令行:
发现使用命令行去扫描会更快,原因是命令行占用的系统资源会相对比较少,他直接输出到标准输出流,而不用经过nmap进行渲染。
为什么要指定DNS服务器进行探测呢?因为有一些公司内部会加设DNS服务器,并且解析IP地址到该站点,如果不指定的话,可能像google的DNS服务器并不包含该域名,导致该站点无法解析。所以我们使用–dns-servers 来突破这种限制。
对于已经知道主机存活或者防火墙开启的机器,可以使用-Pn参数来停止探测之前的ICMP请求。这样做的目的是为了达到不触发防火墙安全机制。
图形化:
命令行:
对于默认的端口范围,并不能满足日常工作需要。可以使用-n m-n来指定探测端口范围为m-n之间的所有端口。
命令行:
这里有一些知识点:
端口状态:
- Open 表示端口处于开放状态
- Closed 表示端口处于关闭状态
- Filterd 表示端口处于过滤无法收到返回的probe状态
- Unfilterd 表示端口收到返回的probe,但是无法确认
- Opend/UnFilterd 表示端口处于开放或者是过滤状态
- Closed/UnFilterd 表示端口处于关闭或者未过滤状态
Nmap 扫描技术查看
在命令行中,输入nmap -h来查看nmap自带的帮助信息。
运行效果图:
总结:
- 掌握了列举远程机器开放端口的方法
- 理解Nmap扫描原理:
首先判断该命令行中是否包含域名,如果包含则进行DNS解析,并得到IP地址,得到IP地址之后还需要进行主机存活验证,发送ICMP,依靠request进行探测;如果该主机不存活则停止扫描;如果该机器存活就进行对应的探测,探测的结果返回到Nmap,Nmap对其进行解析,然后进行对应展示;
这里有一点需要注意,在命令行模式下的速度是要比在图形化界面的模式下的速度要快的,因为命令行模式是在标准输入输出流的环境下工作的,不用需要渲染,而图形化界面需要渲染,这里会花费事件。
上一篇: python tornado使用OpenSSL生成的证书
下一篇: OpenSSL
推荐阅读