今天继续给大家介绍渗透测试相关知识,本文主要内容NMAP扫描详解。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
请不要对网络上主机进行随便的NMAP扫描!
一、使用NMAP进行PING扫描
执行命令:
nmap -sn 192.168.136.0/24
1
可以使得NMAP扫描192.168.136.0/24网段内的所有存活主机。在上述命令中,-sn参数表示进行PING扫描,该命令执行结果如下:
从上图中可以看出,在当前网络中,一共存活4台主机。
如果我们在执行上述命令时,使用wireshark进行抓包,则结果如下:
从上可以看到很多的ARP请求数据包,这就是NMAP进行PING扫描时发送的数据包。
二、使用NMAP进行半连接扫描
执行命令:
nmap -sS 192.168.136.16 -p 80,3306,22,53,631
1
可以对该指定主机的指定端口进行扫描,-sS参数指定扫描的方式是半连接扫描(所谓半链接扫描,就是给指定端口发送TCP的SYN包,当收到返回的RST数据包后,证明该端口关闭,当收到返回的SYN+ACK数据包后,证明该端口开放,返回RST数据包,结束TCP链接,由于半连接扫描没有完成TCP三次握手的过程,因此比较隐蔽。),-p参数后面指定了扫描的端口,该命令执行结果如下:
从以上结果可看出,192.168.136.16设备开放了22、80端口。
在上述命令中,我们除了使用逗号的方式指定端口外,还可以使用短杠的方式直接指定端口范围,如下所示:
在NMAP进行端口扫描时,如果我们使用NAMP进行抓包,则可以看到大量的TCP SYN数据包,如下所示,如果我们仔细研究,则会发现TCP的半连接扫描过程。
三、使用NMAP进行操作系统扫描
NAMP除了可以对端口进行扫描外,还支持对操作系统进行探测。执行命令:
nmap -O 192.168.136.16
1
可以探测目标主机的操作系统,-O参数表示对目标操作系统进行探测,该命令执行结果如下所示:
从上图中可以看出,NMAP探测出该主机的操作系统委3.2-4.9版本之间的Linux操作系统。
NMAP对操作系统进行探测的原理是向该主机发送大量的探测数据包,如下所示:
不同的操作系统,对这些数据包的响应是有一定区别的,NMAP就是根据这些细微之处的差别,来判断目标操作系统的。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/124889971