前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nmap详解

nmap详解

作者头像
江小白
修改2018-11-07 12:08:54
2K0
修改2018-11-07 12:08:54
举报

nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包,用来扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

一些优点:

1、多种多样的参数,丰富的脚本库,满足用户的个人定制需求,其中脚本库还提供了很多强大的功能任你选择。

2、强大的可移植性,基本上能在所有的主流系统上运行,而且代码是开源的。

3、详细的文档说明,和强大的社区团队进行支持,方面新人上手。

Nmap包含四项基本功能:

主机发现(Host Discovery)

端口扫描(Port Scanning)

版本侦测(Version Detection)

操作系统侦测(Operating System Detection)

参数

1. 扫描类型

-sT TCP connect()扫描,这是最基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不 ? ? ? ? 过,你需要root权限来定制SYN数据包。

-sF,-sX,-sN 秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有 ? ? ? ? ? ? ? ? ? ? ? ?问题的包(参考RFC 793第64页)。

-sP ping扫描,用ping方式检查网络上哪些主机正在运行。当主机阻塞ICMP echo请求包是ping扫描是无效的。nmap在任何情况下都会进行ping扫描,只有目标主机处于运行 ? ? ? ? ? 状态,才会进行后续的扫描。

-sU 如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用此选项。

-sA ACK扫描,这项高级的扫描方法通常可以用来穿过防火墙。

-sW 滑动窗口扫描,非常类似于ACK的扫描。

-sR RPC扫描,和其它不同的端口扫描方法结合使用。

-b FTP反弹攻击(bounce attack),连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描。

?2. 通用选项

-P0 在扫描之前,不ping主机。

-PT 扫描之前,使用TCP ping确定哪些主机正在运行。

-PS 对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。

-PI 设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。

-PB 这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。

-O 这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型。

-I 打开nmap的反向标志扫描功能。

-f 使用碎片IP数据包发送SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。

-v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。

-S <IP> 在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况使用这个选项给出你的IP地址。

-g port 设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙的防护。

-oN 把扫描结果重定向到一个可读的文件logfilename中。

-oS 扫描结果输出到标准输出。

–host_timeout 设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。

–max_rtt_timeout 设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约9000毫秒。

–min_rtt_timeout 设置nmap对每次探测至少等待你指定的时间,以毫秒为单位。

-M count 置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描。

3. 扫描目标

目标地址 可以为IP地址,CIRD地址等。

-iL filename 从filename文件中读取扫描的目标。

-iR 让nmap自己随机挑选主机进行扫描。

-p 端口 这个选项让你选择要进行扫描的端口号的范围。如:-p 20-30,139,60000。

-exclude 排除指定主机。

-excludefile 排除指定文件中的主机。

样例测试

样例1:扫描指定IP开放端口:

root@kali:~# nmap -v 192.168.44.128

样例2:网段内存活的机器

root@kali:~# nmap -sP 192.168.44.1/24

样例3:扫描指定IP的指定端口

root@kali:~# nmap -p 80 192.168.44.128

样例4:探测主机操作系统

root@kali:~# nmap -O 192.168.44.128

样例5:全面的系统探测

root@kali:~# nmap -A 192.168.44.128

样例6:穿透防火墙进行扫描

root@kali:~# nmap -sA 192.168.44.128

样例7:Ping扫描(Ping Sweeping)

# nmap -sP 192.168.7.0/24

样例8:隐蔽扫描(Stealth Scanning)

# nmap -sS 192.168.7.7

样例9:UDP扫描(UDP Scanning)

# nmap -sU 192.168.7.7

样例10:Ident扫描(Ident Scanning)

一个攻击者常常寻找一台对于某些进程存在漏洞的电脑。比如,一个以root运行的WEB服务器。如果目标机运行了identd,一个攻击者使用Nmap通过"-I"选项的TCP连接,就可以发现哪个用户拥有http守护进程。我们将扫描一个Linux WEB服务器为例:

# nmap -sT -p 80 -I -O www.yourserver.com

常用选项:

sudo nmap -v -Pn -O 192.168.0.63

---------------------

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
主机安全
主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com