网络利器NMAP系列(一)| 网络扫描介绍

Nmap

前言

网络扫描简单来讲就是发现并收集网络上活跃主机相关信息的过程,比如:操作系统类型、开启的端口号、服务和运行的应用。

0x01 网络协议基本原理

本节内容主要针对网络协议小白,请大神略过。

目前基本上所有的教材针对网络协议的介绍,都是使用ISO的OSI(Open Systems Interconnection)七层模型,如下图所示:

七层模型

但是在实际的开发工作中,开发人员大多数使用的都是TCP的五层模型,OSI七层模型与TCP五层模型的对应关系如下图所示:

模型对比

在实际的网络扫描过程中,协议类型和端口基本上是扫描工具必备的参数,网络协议模型中各层的协议类型如下图所示:

分层协议

0x02 网络扫描技术

1.主机发现

网络扫描的第一步就是确定网络中活跃主机的数量及其相应的IP,这样就进一步精确的确定了对象。主机发现的方法主要有:

  • ICMP ECHO Request 通过Ping命令发送ICMP类型为8的包,如果主机是活跃的,会回复一个ICMP类型为0的包。

  • ICMP Timestamp 通过Ping命令发送ICMP类型为13的包,如果主机是活跃的,会回复一个ICMP类型为14的包。

  • ICMP Address Mask Request 通过Ping命令发送ICMP类型为17的包,如果主机是活跃的,会回复一个ICMP类型为18的包。

  • TCP Ping 通过Ping命令发送TCP SYN或TCP ACK的包,如果主机是活跃的,会对请求包进行回复,具体回复的内容取决于包的类型、主机的操作系统、防火墙策略等。

  • UDP Ping 通过Ping命令向主机的UDP端口发送UDP包,如果主机是活跃的,但UDP端口是关闭的,会回复一个ICMP Port Unreachable包。由于UDP的无连接特性,如果主机不回复任何内容,主机和UDP端口也有可能是活跃的。

2.端口和服务扫描

网路扫描的第二步就是对活跃的主机,进行端口和服务扫描。端口和服务的活跃就意味着漏洞存在的可能性。端口和服务扫描的方法主要有:

  • Connect scan 通过正常的TCP连接和主机建立连接,如果主机的TCP端口是活跃的而且没有被防护墙过滤,会回复一个SYN/ACK包,否则回复一个RST/ACK包。这种扫描方法由于是建立正常的连接,所以很容易被发现或记录。

  • Half-open scan 故名思议,当主机回复第一个SYN/ACK包的时候,扫描器就认为端口是活跃的,所以就用一个RST包来结束此次连接,并不完成完整的三次握手。

  • Stealth scan 通过发送报头带有各种标志的包,比如,SYN/ACK、FIN、ACK、NULL等,同时结合其他的规避技术来进行扫描。

3.操作系统发现

操作系统发现,也叫指纹识别,通过指纹来判断主机运行的系统类型。所谓的指纹,就是被扫描主机回复的一些特征信息,比如,TCP/IP栈、TCP窗口大小、TCP初始序列号等。指纹识别可以通过被动的方式,也可以通过主动的方式。

0x03 网络扫描工具

目前网络扫描工具种类比较多,商业和开源的都有,本节着重介绍几款比较流行的工具:

  • Nmap 一款开源、跨平台的网络扫描工具,拥有丰富的第三方插件。

  • Superscan 一款免费、适用于Windows平台的网络扫描工具。

  • YAPS 全称是Yet Another Port Scanner,一款免费、适用于Windows平台的网络扫描工具。

  • Angry IP Scanner 一款免费、跨平台的网络扫描工具。

  • NEWT 一款同时具有商业和免费版本、适用于Windows平台的网络扫描工具。


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值