在命令窗口下输入命令等待,可以用回车来查看进度

nmap的理解与利用(初级)-LMLPHP

nmap进行探测之前要把域名通过dns服务器解析为ip地址,我们也可以使用指定的dns服务器进行解析。

nmap --dns-servers 主机地址 需要扫描的目标地址

对于已经知道主机存活或者防火墙开启,可以使用-Pn参数来停止探测之前的icmp的请求。已达到触不到防火墙安全机制

nmap -Pn www.baidu.com

nmap的理解与利用(初级)-LMLPHP

nmap列举远程机器开放端口

对于默认端口范围,并不能满足日常工作需要。可以使用-p m-n 来指定探测端口范围为m到n之间的所有端口可以在具体某个范围用

端口状态

open、close不解释了,主要是filtered是过滤状态

nmap扫描技术查看

nmap -h查看帮助信息

nmap的理解与利用(初级)-LMLPHP

主要帮助里的SCAN TECHNIQUES

服务指纹

为了确保有一个成功的渗透测试或网络设备监控,需要我们知道目标系统中服务信息指纹。服务指纹信息包含服务端口、服务名和版本等。

通过分析目标往nmap发送的数据包中的某些协议标记、选项和数据,我们可以推断这些数据包的操作系统。

nmap通过向目标主机发送多个udp和tcp数据包并分析响应来进行系统指纹工作。

nmap识别服务指纹

nmap -sV IP地址来自目标机器的服务信息

就用虚拟机的kali吧。。。。当实验吧。。

nmap的理解与利用(初级)-LMLPHP

真的很慢。。。

nmap的理解与利用(初级)-LMLPHP

通过扫描知道我用的是vmware,竟然还有个漏洞端口,445可以通过端口溢出进行攻击

nmap侵略性探测

nmap -A -v -T4 IP地址

-A表示使用侵略的方式,嗯。。可以理解为英文单词attack其中包括操做系统识别,端口服务、指纹识别等

-v表示持续输出返回的解析的详略程度。

-T4是加速(数字范围是1到5)

可以扫到目标机器的开机时间,MAC地址,系统版本等。。。

nmap -sC -sV -O(是o不是0) IP地址

sC参数表示使用nmap脚本进行探测,sV表示探测目标机器上的服务信息,O表示探测目标机器的操作系统

主机发现

局域网有许多设备,如何获取开机状态

1.ping

2.使用工具批量探测

明白CIDR含义:

无类别域间路由,(class inter-domain routing)可以快速地表示一个网络

举例:

172.16.1.1/24 表示172.16.1.1到172.16.1.255之间的所有ip地址

nmap主机发现

nmap -sP CIDR

对该网络的所有主机进行ping扫描,以探测主机存活性。扫描中用了tcp syn扫描、icmp echo request 来探测主机存活。

也可以使用

nmap -sn CIDR

对该网络中的所有主机进行ping扫描,以探测主机的存活性。

nmap主机发现输出结果

nmap -sn CIDR -oX 文件名.xml

对该网络中的所有主机进行ping扫描,以探测主机的存活性。同时结果以文件名.xml输出,以便后记使用

ps:注意路径

端口探测技巧

nmap -p80 目标

nmap的理解与利用(初级)-LMLPHP

把网站解析成IP地址,厉害。我们也可以看到状态是开放的

多个端口以逗号隔开

范围端口

nmap -p1-100 目标地址

所有端口

nmap -p- 目标地址

指定协议探测端口

nmap -p T:端口,U:端口 目标地址

通过协议名来扫描端口

nmap -p 协议名字 目标地址

这个牛逼

通过名称范围扫描

nmap -p s* 目标地址

这里的s*值得是所有以s开头的协议

扫描百度会有许多过滤

nmap的理解与利用(初级)-LMLPHP

扫描注册在nmap中的端口

nmap -p [1-65535] 目标地址

NSE介绍

nse就是nmap script engine )nmap脚本引擎,内置很多可以用来扫描的、针对特定任务的脚本。通过nse可以不断地拓展nmap的扫描策略,加强nmap的功能

nmap的理解与利用(初级)-LMLPHP

nse使用

使用nmap探测web服务的title信息。

nmap --script http-title 目标主机

nmap的理解与利用(初级)-LMLPHP

nmap --script http-headers 目标主机

可以获得目标的使用版本信息等

nse分类使用

对于目标使用多个分类脚本进行探测,可以更快的找到目标信息和弱点

nmap -sV --script vuln 目标

不展示。。

使用下面的命令可以发现版本信息分类进行探测

nmap -sV --script="version,discovery" 目标

使用nmap可以进行筛选扫描检测

nmap -sV --script="not exploit" 目标

还有更详细的。。

要使用http*的脚本,除了http-brute和http-slowers

nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 目标

nse调试功能的使用

使用nmap中的exploit,但是在与此同时开启调试模式。

nmap -sV --script ecploit -d 3 --script-trace 目标

-d(debug范围0到9)

--script-trace可以随时看到扫描过程

nse参数的使用

使用nmap的http-title脚本,并且指定使用对应的user-agent

nmap -sV --script http-title --script-args http.useragent="mozilla 999" 目标

此代码使用可以突破某些网站的限制设备登陆

nse更新

nmap --script-updatedb

nse脚本分类

在nmap的script的目录下。

或者官网https://nmap.org/nsedoc/

有具体解释和内容,不过得翻墙,我进不去。。

nmap指定特定网卡进行探测

使用场景

这种功能需要网卡支持混杂模式,或者当计算机上有两张卡,并且两张卡对应不同的网络

指定网卡进行探测

nmap -e 网卡信息 CIDR

切换使用特定网卡进行探测的参数 -e

kali中操作

nmap的理解与利用(初级)-LMLPHP

ndiff

对之前的数据参数进行二次比较,减少了人工的比较,节省大量时间

nmap的理解与利用(初级)-LMLPHP

上我们最爱的百度翻译

用法:ndiff[option]FILE1 FILE2

比较两个Nmap XML文件并显示它们的差异列表。

不同之处包括主机状态更改、端口状态更改和

服务和操作系统检测。



-h、 --帮助显示此帮助

-v、 --verbose还显示未更改的主机和端口。

--文本格式的文本显示输出(默认)

--xml格式的xml显示输出

指定文件输出加侵略性查看

nmap -A -v -T4 目标地址 -oX 文件输出名.xml

然后对kali输入命令

service apache2 start

来打开阿帕奇服务

nmap上面的命令

nmap的理解与利用(初级)-LMLPHP

然后用工具nidff

ndiff 文件 文件

nmap的理解与利用(初级)-LMLPHP

首行加+表示第二个比较的文件的不同

-表示第一个文件的不同

之前开启服务,apache,所以会有不同。

可视化nmap的使用

使用zenmap

在配置中设置脚本,从而在可视化程序中快速指定配置进行扫描

nmap的理解与利用(初级)-LMLPHP

也可以使用自带策略

nmap的理解与利用(初级)-LMLPHP

ping scan来验证主机的存活性

等等等

window下网卡

通过命令ipconfig /all 与nmap irlist比较知道是哪些网卡名称从而进行探测。

不指定网卡,直接探测也可以,首先依次尝试这些网卡发送数据包,如果连通,才会继续探测,否则就换下一个网卡。直到网卡都被尝试后,才算结束。

01-24 19:21