网络安全·第四天·扫描工具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的版本。

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

相关推荐
德迅云安全-上官1 小时前
DDoS 安全防护在企业安全防护中的作用
安全·ddos
星恒讯工业路由器6 小时前
5G FWA技术演进与趋势
网络·5g·信息与通信·4g·5g fwa·3gpp规范·fwa趋势
王维同学7 小时前
[自学][Windows C++]RunOnceEx 注册表分组键的安全遍历
c++·windows·安全·开源
星夜夏空999 小时前
网络编程(1)
服务器·网络
川石课堂软件测试9 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
上海云盾-小余9 小时前
中小站点防护避坑:低价高防服务存在的各类安全短板剖析
网络·爬虫·安全·ddos
武子康10 小时前
从恶意 Dataset 到横向移动:一套可落地的 Dataset Processing Threat Model(资产边界 + 威胁枚举 + 5 层控制)
人工智能·安全
见青..10 小时前
phpMyAdmin权限提升
web安全·网络安全·phpmyadmin
羽翼安全10 小时前
企业内网终端可视化风控方案解析,电脑屏幕防泄露系统保障数据资产安全
安全
数据知道12 小时前
邮件安全实战:SPF/DKIM/DMARC 配置与钓鱼绕过
网络·安全·web安全·网络安全·邮件安全