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

[推荐] 网络侦查工具 NMAP 简单入门

2017-07-24 18:54 281 查看

[推荐] 网络侦查工具 NMAP 简单入门

# 前言

作为一只运维开发,总是避不开要和网络打交道的。尤其是当自身能力到达瓶颈,开始从事云计算以求突破。会有搭建多台虚拟机的需要,这时候如果在手工的查询 IP 实在有些麻烦。当然我还是可以给你们举更多例子,上篇文我们写到 无人值守安装Linux操作系统 这是在大型项目中最经常遇到的技术之一。在文章中我说可以通过生成的
ks.cfg
文件进行批量处理,这样我们就可以设置相同的密码,网络使用静态或动态。这样我们就有了很多服务器,或者说你是一名黑客需要爆破服务器密码。可是,连
TCP/IP
的网络层,IP地址都拿不到又如何能登录操作系统呢?

# nmap

Nmap网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字 Nmap 是 Network Mapper 的简称。

通常情况下,Nmap 用于:

列举网络主机清单

管理服务升级调度

监控主机

服务运行状况

Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

它是网络管理员必用的软件之一,用以评估网络系统安全。

Nmap 是不少黑客及脚本小孩爱用的工具 。

系统管理员可以利用 Nmap 来探测工作环境中未经批准使用的服务器,黑客通常会利用 Nmap 来搜集目标电脑的网络设定,从而计划攻击的方法。

Nmap 通常用在信息搜集阶段,用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描、漏洞利用和权限提升阶段的输入。例如,业界流行的漏洞扫描工具Nessus与漏洞利用工具 Metasploit 都支持导入 Nmap 的 XML 格式结果,而 Metasploit 框架内也集成了 Nmap 工具(支持 Metasploit 直接扫描)。

Nmap 不仅可以用于扫描单个主机,也可以适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。

# 正文开始

介绍完 NMAP 有哪些用处以及简介,正好作者博客园没有 NMAP 文章。本文会结合作者学习工作中的需要写一些常用操作

零、工具与过程

I、工具:

NMAP 共有 GUI 与 CLI 俩种模式对应俩款工具:Zenmapnmap

下载地址点我

II、过程:



因为该工具特别有名,故所有操作系统都是支持的。我们的环境在 CentOS 6.5 的公网下进行扫描测试。

安装程序

简单扫描

完整扫描

网段扫描(三种表达方法)

IP 端

子网

通配符

扫描方式

NOT PING

TCP SYN

UDP

版本扫描

操作系统

软件版本

端口扫描

多端口

端口段

因为不能教大家做坏事,所有还是以系统管理员常用的为主。(重点已加粗)

一、安装程序

I、系统信息



II、安装命令

# yum install nmap -y




注意:我的操作系统该工具包是由
atomic
仓库提供,如果您不可以安装。请完成以下操作。


# curl -o /etc/yum.repos.d/atomic.repo https://raw.githubusercontent.com/erlinux/LinuxDotFiles/master/yum.repos.d/atomic.repo # yum clean all
# yum makecache
# yum install nmap -y

二、简单扫描

# nmap 1.2.3.4
# nmap localhost
# nmap 192.168.1.1

您大致可得到如下结果:



其实您会发现缺少很多信息,比如:版本号、系统信息等。

三、完整扫描

# namp -v -A example.com

参数:

-v:显示版本信息

-A:近可能可能完整信息

输出结果:

因过输出过于冗长,并非本次重点。

结果放置GITHUB,有兴趣可点击浏览:https://gist.github.com/2cdae9102f7f4be81a5ed3c2ed70019c

四:网段扫描

I、快速列表

# nmap -sL 1.1.1.0/24






参数:

-sL:简单的列表扫描

II、IP 段

# nmap -sL 1.2.4.2-12




III、子网

上述已经有展示了,不多演示。

V、通配符

经过测试在 Nmap6.47 中没有成功。但这个方法是我当时参加信息安全比赛时在训练机上展示的。

大家可以留个心眼,欢迎交流。

五、扫描方式

扫描方式有很多种,但这需要对TCP/IP非常的了解。作者懂得也不是很多,不在此误导大家。介绍常用的三种~

I、TCP SYN

该扫描在三次握手为完成的情况下进行探测,好处是不会被对方日志系统记录(因为为完成三次握手)

# nmap -sS example.com




通过TCP SYN的方式,我们已经了准确的探测(代价也很大)。端口将在后续探讨~

II、UDP

# nmap -sU example.com




UDP的方式较快。有些时候扫描不出结果可尝试该权限,或许有所收获。

III、NOT PING

# nmap -nP example.com

与之相反的是
nmap -sP
告诉 Nmap 仅仅进行 ping 扫描。



嗯,大家可以看到。内网使用
-sL
ARP方式、外网使用
-sP
、特殊情况特殊对待。希望了解更多信息最好带
-sS
TCP隐蔽扫描与
-v
参数得到版本信息


六、版本扫描

I、探测系统

nmap -O example.com

II、探测网络

nmap -vv -sS example.com

七、端口探测

I、探测协议

# nmap -sO example.com




II、端口探测

1、指定端口
# nmap -p 80,25,443,110 127.0.0.1




nmap已经非常成熟了,很多方式都是支持的。比如端口、IP之间逗号和空格就是可以识别的。

2、端口范围
# nmap -p 1024-2048 127.0.0.1

III、解决问题

还记得文章开始提出的问题吗?我们如何对正在开机的服务器探测呢?

# nmap -sP <server_ip_range> -p 22 --open

Perfect~ 写了一个下午...

# 整理归纳

本来想写一篇美文的,写完了发现有些偶联。

一方面是NMAP太过于庞大,我的逻辑上没有归纳的很好。另外一方面,其实NMAP本身定位就是网络发现和服务探测,所以模块间有必然的联系。

# 彩蛋(完整的一次扫描)

TCP/IP:

数据链路层:ARP,RARP

网络层: IP,ICMP,IGMP

传输层:TCP ,UDP,UGP

应用层:Telnet,FTP,SMTP,SNMP.

OSI:

物理层:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS

数据链路层:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2

网络层:IP,IPX,AppleTalk DDP

传输层:TCP,UDP,SPX

会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP

表示层:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML

应用层:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP

物理层


电源插了么


数据链路层


网卡工作吗


网络层


arping / nmap -PR / -sP


传输层


nmap -sO / -sS / -sU / -vv


会话层


nbtstat -> NetBIOS

nslookup -> Names


表示层


hydra -> encryption/decode

HTML


应用层


tcping / nmap -O / nmap --script=all


这么展示出来,其实nmap主要还是工作在网络层到应用层。很强大~

推荐阅读:http://www.freebuf.com/sectool/99956.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: