您的位置:首页 > 理论基础 > 计算机网络

网络扫描(主机发现和端口扫描)

2016-08-13 17:12 302 查看
网络扫描

    网络扫描是一类重要的网络安全。网络扫描与防火墙,入侵检测系统相互配合,能够有效提高网络的安全性。通过对网络的扫描,网络管路员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。安全扫描就是一种主动的防范措施,可以有效避免黑客攻击行为,做到防患于未然。

 

网络安全扫描

    网络安全扫描是一种基于internet远程检测目标网络或本地主机安全性脆弱点的。这种通常被用来进行模拟攻击实验和安全审计。网络扫描与防火墙,安全监控系统互相配合就能够为网络提供很高的安全性

 

端口扫描和漏洞扫描是网络安全扫描的两个核心

 

端口扫描?

    一个端口扫描就是一个潜在的通信通。通过对目标计算机进行端口扫描,能得到许多有用的消息,从而发现系统的安全漏洞

端口扫描向目标主机的tcp/ip服务端口发送探测数据包,并记录目标主机的响应,还是关闭,就可以得知端口状态。帮助我们发现目标通过分析响应。还是关闭,就可以得知端口状态。帮助我们发现目标通过分析响应来判断服务器端口是打开主机的某些内在的弱点

 

nmap介绍

 

    nmap的英文全称是”network mapper”,nmap可用来快速地扫描大型网络或是单个主机。

nmap主要包括四个方面的扫描功能,主机发现,端口扫描,应用于版本侦测,操作系统侦测。

 

打开cmd命令行,输入nmap,可启动namp.exe.这里输入zenmap,来启动zenmap的图形化界面(zenmap是nmap的图形化界面,可以在安装nmap目标下寻找到zenmap.exe)

 

nmap的基础语法

语法格式:

namp [空格]
【选项|多选项|协议】 【空格】


 

如果针对某台机器的ip地址或于域名进行扫描,那么nmap对该主机进行主机发现过程和端口扫描

 命令形式:nmap targethost


可以确定目标主机在线情况及端口基本状况





如果希望对某台主机进行完整全面的扫描

命令形式:nmap -T4 -A -v targethost

其中-A选项用于使用进攻性方式扫描;-T4指定扫描过程使用的时序; -V表示显示冗余信息








扫描结果





namap基本扫描

    nmap主要包括四个方面的扫描功能,主机发现,网络查找,和指纹识别。其中网络查找也称为端口扫描,指纹识别又可细分为应用版本侦测和操作系统侦测

1.主机发现原理

    主机发现的原理与ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。nmap支持十多种不同的主机探测方式,比如发送icmp
echo/timestamp/netmask报文,发送tcpsyn/ack包,发送sctp init/cookie-echo包,用户可以在不同的条件下灵活选用不同的方式来探测目标机


以icmp echo 方式为例

默认情况下,nmap会发送四种不同类型的数据包来探测目标主机是否在线

1.ICMP echo request

2.a TCP SYN packet to port 443

3.a TCP ACK packet to port 80

4.an ICMP timestamp rquest

依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启,通常主机发现并不单独使用,而只是作为端口扫描,版本侦测,os侦测先行步骤。



比较常用的使用的是:

-sn:表示只单独进行主机发现过程

-Pn:表示直接跳过主机发现而进行端口扫描等高级操作(如果已经确知目标直接已经开启,可用该选项)

-n:如果不想使用DNS或reverse DNS解析,那么可以使用该选项。

例如:

命令如下:

nmap -sn -PE -PS80,135 -PU www.xxx.net

使用wireshark抓包,我们看到,www.xxx.net的ip地址1.1.1.1(随便假设)发送四个探测包:ICMPEcho,80和135端口的TCP
SYN包,53端口的UDP包(DNS domain).而收到ICMP
Echo的回复与80端口的回复。从而确定了www.xxx.com主机正常在线






探测局域网内活动主机

  扫描局域网10.22.4.1-10.22.4.255范围内有哪些ip的主机是活动的。

命令如下:

 nmap -sn 10.22.4.1-10.22.4.255

 通过wireshark抓取的包中,可以看到发送的探测报情况

 在局域网内,nmap是通过ARP包来询问ip地址上的主机是否活动的






端口扫描

 默认情况下nmap会扫描1000个最有可能开放的tcp端口

 nmap通过探测将端口划分为6个状态





端口扫描原理

1)TCP SYN scanning

2)TCP connect scanning

3)TCP ACK scanning

4)TCP FIN/Xmas/NULL scanning

5)UDP scanning

6)其他发方式(如使用SCTP INIT/COOKIE-ECHO方式来探测SCTP的端口开放情况;使用IP protocol方式来探测目标主机支持的协议类型(TCP/UDP/ICMP/SCTP等等);使用FTP
bounce scan,借助FTP允许的代理服务扫描其他的主机,同样达到隐藏自己的身份的目的)


 

扫描方式选项:





端口扫描与参数顺序





端口扫描:

例如以局域网内10.22.4.11为例

命令如下:

nmap -sS -sU -T4 -top-ports 300 10.22.4.11

 参数-sS表示使用TCP SYN方式扫描TCP端口;-sU表示扫描UDP端口;-T表示时间级别配置4级;--top-ports
300表示扫描最有可能开放的300个端口







版本侦测原理



版本侦测的命令行选项



nmap -sV 10.22.4.11



OS侦测

操作系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。nmap拥有丰富的系统数据库nmap-os-db.

 

OS侦测原理:

Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的

 

OS侦测的命令选项

-O:指定Nmap进行OS侦测

--osscan-limit:限制Nmap只对确定的主机进行OS侦测。

--osscan-guess:大胆猜测对方主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统

 

namp -O 10.22.4.11

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: