网络安全·第四天·扫描工具Nmap的运用

今天我们要介绍网络安全中常用的一种扫描工具Nmap,它被设计用来快速扫描大型网络,主要功能包括主机探测、端口扫描以及版本检测,小编将在下文详细介绍Nmap相应的命令。

Nmap的下载安装地址为:Nmap: the Network Mapper - Free Security Scanner

一、在线主机探测

首先我们打开cmd,通过ipconfig命令,查找自己的主机在哪一个网段

复制代码
ipconfig

发现子网掩码为255.255.255.0,说明本网段CIDR要以"/24"结尾,路由器网关为192.168.4.1,所以我们可以通过扫描192.168.4.1/24网段来了解自己所在的局域网有哪几台主机,分别是哪几台主机在线。

复制代码
nmap 192.168.4.1/24 -sL
nmap 192.168.4.1/24 -sn

本质上都是在通过ping判断主机是否在线,不过这两条命令还是有所区别的,-sL的这条命令是把所有的可能都列举一遍,然后再说明是否在线,如下图所示,它列举了从192.168.4.0到192.168.4.255的所有IP地址,并在后面注释了该主机是否在线,也说明了192.168.4.1是网关。

个人更推荐第二种检测局域网内在线主机的方式,也就是-sn的这条命令,它不会把所有的可能都列举出来,它只显示在线的是哪15台主机,他们的MAC地址和IP地址分别是啥,如下图所示:

二、端口扫描

端口扫描的目的为确定在目标主机哪些TCP、UDP端口可访问,而确定端口后,我们也可以知道主机开启了哪些服务进程。

1、特定主机扫描

例如我们要扫描IP地址为192.168.4.119的主机的端口,我们只需要输入命令:

复制代码
nmap 192.168.4.101

端口扫描结果如下,发现该主机享受了http、https等服务:

2、特定主机端口扫描

通过该命令可以知道某台主机的某端口或者某个范围内的端口是否开放:

复制代码
nmap 192.168.4.101 -p 80  //扫描该主机的80号端口是否开放

发现80号端口是开放的,享受http服务:

复制代码
nmap 192.168.4.101 -p 80-500  //扫描该主机的80-500号端口是否有开放的

发现该范围内80号端口以及443号端口是开放的:

3、TCP端口扫描原理与命令

①RST报文

其中RST报文用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误;

②全连接扫描

这种扫描的思想很简单,如果目标端口是开放的,那么在接到主机端口发出的SYN请求之后,就会返回一个SYN+ACK回应,表示愿意接受这次连接的请求,然后主机端口再回应一个ACK,这样就成功地和目标端口建立了一个TCP连接。

如果目标端口是关闭的,那么在连接到主机端口发出的SYN请求之后,就会返回一个RST回应,表示不接受这次连接的请求,这样就中断了这次TCP连接。

其在Nmap中的命令为 :

复制代码
nmap 192.168.4.101 -p 80 -sT

③半连接扫描

与全连接扫描相比,如果目标端口是开放的,那么在接到主机端口发出的SYN请求之后,就会返回一个SYN+ACK回应,表示愿意接受这次连接的请求,但是客户端不会回传ACK建立连接,而是会返回RST。

如果目标端口是关闭的,那么在连接到主机端口发出的SYN请求之后,就会返回一个RST回应,表示不接受这次连接的请求,这样就中断了这次TCP连接。

不论端口是否开放,在这次扫描中,都不能完整建立连接,主机也是通过三次握手中的前两次握手判断是否开放,所以从速度上来说,半连接扫描比全连接扫描更快速。

复制代码
nmap 192.168.4.101 -p 80 -sS

④隐蔽扫描

向目标主机端口发送FIN包,如果端口关闭,则会返回RST包;如果端口打开,则没有任何返回。通过是否收到RST包来判断端口的开闭。

复制代码
nmap 192.168.4.101 -p 80 -sF

隐蔽扫描在三类TCP端口扫描的方法中是耗时最长的,但同样的,他的隐蔽性却是最优秀的。

4、端口状态概览

状态:open 含义:应用程序正在该端口接收TCP连接或者UDP报文

状态:closed 含义:应用程序正在该端口没有接收TCP连接或者UDP报文

状态:filtered 含义:由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放

状态:unfiltered 含义:端口可访问,但是Nmap无法确定该端口是否开放

三、版本检测

例如,我们要查IP地址为192.168.4.101的http的版本,可输入以下命令:

复制代码
nmap 192.168.4.101 -p -80 -sV

可以发现,与nmap 192.168.4.101 -p -80的结果相比,多了一列名为VERSION的列,揭示了该主机http的版本。

好的,本篇博客就到此为止了,如果你觉得小编的博客对你有所帮助,请给博主一个小小的点赞吧!

相关推荐
阳光普照世界和平4 小时前
网络安全与信息安全防护措施
网络·安全
学不完的4 小时前
ospf综合实验
网络·智能路由器
-曾牛5 小时前
Git完全指南:从入门到精通版本控制 ------- Git仓库创建 (5)
大数据·网络·git·学习·elasticsearch·个人开发
vvilkim5 小时前
深入解析TCP Keep-Alive机制:原理、作用与最佳实践
网络·网络协议·tcp/ip
维C泡泡5 小时前
网络编程 套接字
网络
耕耘虫6 小时前
解决 .Net 6.0 项目发布到IIS报错:HTTP Error 500.30
网络·网络协议·http·iis·net·静态文件·.net 6.0
鸡鸭扣7 小时前
系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
网络·面试·负载均衡
christine-rr7 小时前
【25软考网工笔记】第二章 数据通信基础(2) 信道延迟计算
网络·笔记·网络工程师·软考
科技小E7 小时前
5G时代,视频分析设备平台EasyCVR实现通信基站远程安全便捷管控
大数据·网络·人工智能·音视频·安防监控
前端切图仔0018 小时前
WebSocket 技术详解
前端·网络·websocket·网络协议