文章参考了李华峰等的《Kali Linux2 络渗透测试实践指南》
一、简介
nmap(network mapper, 络映射器),其基本功能有三个,一是探测一组主机是否在线,其次是扫描主机端口,嗅探所提供的 络服务;还可以推断出主机所用的操作系统
- 主机发现功能:向目标计算机发送特定的数据包组合来判断其 络状态是否开放
- 端口扫描:检测目标主机所开放的端口
- 服务及版本检测:判断目标计算机上运行的服务类型及版本信息
- 操作系统检测:判断目标计算机的操作系统类型和版本信息
二、基本使用方法
2.1、最简单的扫描(控制台输入nmap和目标主机地址)
nmap 172.22.3.141 扫描目标主机开放端口及服务
- 命令执行时会检测目标主机上的1-1000个端口,会列出来探测到的目标主机的端口和服务,
扫描结果是一个在线,一个不在线
2.3对连续范围内的主机扫描
- 命令语法: nmap [ip地址范围]
- nmap -sn 172.22.2.1-255
- 为了节省时间选择了使用-sn参数
当目标主机和我们处于同一个 段的时候,使用ARP协议扫描技术就是最佳的选择。不仅速度快,扫描结果也是最为精准。这是因为没有任何的安全措施会阻止正常的ARP请求。
使用nmap的选项-PR就可以实现ARP协议的主机发现
- 语法规则:nmap -PR [目标IP]
- 实列:nmap -PR 172.22.3.153
- 注意:这种方式只能用于与Nmap所在主机的同一子 的目标
3.4使用TCP协议进行主机发现(-sS -sT)(-sS貌似很好用啊!)
TCP协议的主要过程由三次握手构成:主动端先发送SYN 文,被动端回应SYN+ACK 文,然后主动端再回应ACK。利用这个过程,Nmap向目标发送SYN 文,如果对方回应了SYN+ACK,则说明目标在线。
由于三次握手最后一步的意义不大,所以扫描时,这一步可以完成也可以不完成,如果完成的话称之为全开(放)扫描,不完成则叫半开(SYN)扫描
Nmap里面采用-sS来讲扫描设定为半开扫描
- 语法规则: nmap -sS [目标IP}
- 实例:nmap -sS 172.22.3.153
四、使用Nmap进行端口发现
4.1扫描全部端口
如果对所有的65535个端口扫描,可以使用参数 -p “*”
- 语法规则: nmap -p “*” [目标IP]
4.3扫描指定端口
如果只想扫描指定端口,可以是使用参数-p
- 语法规则:nmap -p [端口 ] [目标ip]
- 首先进行端口扫描,默认情况下使用SYN扫描。
- 进行服务识别,发送探针 文,得到返回确认值,确认服务。
- 进行版本识别,发送探针 文,得到返回的 文信息,分析得出服务的版本。
-
-A:采用全面扫描的方式
-
- 语法: nmap -A [目的IP]
- 实例: nmap -A T4 172.22.3.141
-
–script=脚本
-
- 语法:nmap –script=vuln [目标IP]
- 实例:nmap -sV
nmap貌似猜的不够准,它说我的设备是WAP电话,而且是索尼(sony),操作系统是Linux!怎么可能啊,这个ip地址是我宿主机的ip,我电脑是惠普、windows10啊!
六、使用Nmap扫描目标服务器
Nmap提供了更精确的服务及版本检测选项。通过添加选项 –sV 来进行服务和版本识别,服务和版本识别还有更多的选项。
当Nmap从某个服务收到响应,但不能在数据库中找到匹配时,它就打印一个特殊的fingerprint和一个URL给使用者提交,如果使用者确实知道什么服务运行在端口,那么就可以花费几分钟提交这份 告,从而让Nmap更加完善。
使用下列参数可打开和控制版本探测。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRyADQsK-1625722364366)(%E7%AC%94%E8%AE%B0/typora%E5%9B%BE%E7%89%87/1625711795892-b62350ec-9734-4bf5-80bc-5aeffde76c57.png)]
- -v : 显示扫描进度
九、最后谈一下zenmap(windows上图形化界面的nmap)
首先,如果你的Windows是的用户名是中文!
如果你想改变那个文件名称!
说一句:最好不要
这回引起很多很多问题
这里有先例
不过windows的环境下虽然用不了zenmap,但是可以使用命令行的nmap
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!