nmap命令使用详细说明.docx

上传人:b****6 文档编号:8455493 上传时间:2023-01-31 格式:DOCX 页数:6 大小:18.64KB
下载 相关 举报
nmap命令使用详细说明.docx_第1页
第1页 / 共6页
nmap命令使用详细说明.docx_第2页
第2页 / 共6页
nmap命令使用详细说明.docx_第3页
第3页 / 共6页
nmap命令使用详细说明.docx_第4页
第4页 / 共6页
nmap命令使用详细说明.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

nmap命令使用详细说明.docx

《nmap命令使用详细说明.docx》由会员分享,可在线阅读,更多相关《nmap命令使用详细说明.docx(6页珍藏版)》请在冰豆网上搜索。

nmap命令使用详细说明.docx

nmap命令使用详细说明

nmap命令使用详解

[Ping扫描(PingSweeping)] 

[端口扫描(PortScanning)] 

[隐蔽扫描(StealthScanning)]

[UDP扫描(UDPScanning)]

[操作系统识别(OSFingerprinting)]

[Ident扫描(IdentScanning)] 

[选项(Options)]

简介:

黑客想要入侵一台电脑,首先要有一套完整的计划。

在入侵系统之前,黑客必须先找到一台目标主机,并查出哪些端口在监听之后才能进行入侵。

找出网络上的主机,测试哪些端口在监听,这些工作通常是由扫描来实现的。

扫描网络是黑客进行入侵的第一步。

通过使用扫描器(如Nmap)扫描网络,寻找存在漏洞的目标主机。

一旦发现了有漏洞的目标,接下来就是对监听端口的扫描。

Nmap通过使用TCP协议栈指纹准确地判断出被扫主机的操作系统类型。

本文全方位地介绍Nmap的使用方法,可以让安全管理员了解在黑客眼中的站点。

并通过使用它,安全管理员可以发现自己网站的漏洞,并逐步完善自己的系统。

Nmap是在免费软件基金会的GNUGeneralPublicLicense2.12。

带有图形终端,本文集中讨论Nmap命令的使用。

Nmap的语法相当简单。

Nmap的不同选项和-s标志组成了不同的扫描类型,比如:

一个Ping-scan命令就是"-sP"。

在确定了目标主机和网络之后,即可进行扫描。

如果以root来运行Nmap,Nmap的功能会大大的增强,因为超级用户可以创建便于Nmap利用的定制数据包。

在目标机上,Nmap运行灵活。

使用Nmap进行单机扫描或是整个网络的扫描很简单,只要将带有"/mask"的目标地址指定给Nmap即可。

地址是"victim/24",则目标是c类网络,地址是"victim/16",则目标是B类网络。

另外,Nmap允许你使用各类指定的网络地址,比如或

Ping扫描(PingSweeping)

入侵者使用Nmap扫描整个网络寻找目标。

通过使用"-sP"命令,进行ping扫描。

缺省情况下,Nmap给每个扫描到的主机发送一个ICMPecho和一个TCPACK,主机对任何一种的响应都会被Nmap得到。

#nmap-sP

StartingnmapV.2.12byFyodor

Hostappearstobeup.

Hostappearstobeup.

Hostappearstobeup.

Nmapruncompleted--256IPaddresses(3hostsup)scannedin1second

如果不发送ICMPecho请求,但要检查系统的可用性,这种扫描可能得不到一些站点的响应。

在这种情况下,一个TCP"ping"就可用于扫描目标网络。

一个TCP"ping"将发送一个ACK到目标网络上的每个主机。

网络上的主机如果在线,则会返回一个TCPRST响应。

使用带有ping扫描的TCPping选项,也就是"PT"选项可以对网络上指定端口进行扫描(本文例子中指的缺省端口是80(http)号端口),它将可能通过目标边界路由器甚至是防火墙。

注意,被探测的主机上的目标端口无须打开,关键取决于是否在网络上。

#nmap-sP-PT80

TCPprobeportis80

StartingnmapV.2.12byFyodorp/)

Hostappearstobeup.

Hostappearstobeup.

Hostappearstobeup.

Nmapruncompleted--256IPaddresses(3hostsup)scannedin1second

当潜在入侵者发现了在目标网络上运行的主机,下一步是进行端口扫描。

Nmap支持不同类别的端口扫描TCP连接,TCPSYN,StealthFIN,XmasTree,Null和UDP扫描。

端口扫描(PortScanning)

一个攻击者使用TCP连接扫描很容易被发现,因为Nmap将使用connect()系统调用打开目标机上相关端口的连接,并完成三次TCP握手。

黑客登录到主机将显示开放的端口。

一个tcp连接扫描使用"-sT"命令如下。

#nmap-sT

StartingnmapV.2.12byFyodorwww.insecure.org/nmap/)

Interestingportson

PortStateProtocolService

7opentcpecho

9opentcpdiscard

13opentcpdaytime

19opentcpchargen

21opentcpftp

...

Nmapruncompleted--1IPaddress(1hostup)scannedin3seconds

隐蔽扫描(StealthScanning)

如果一个攻击者不愿在扫描时使其信息被记录在目标系统日志上,TCPSYN扫描可帮你的忙,它很少会在目标机上留下记录,三次握手的过程从来都不会完全实现。

通过发送一个SYN包(是TCP协议中的第一个包)开始一次SYN的扫描。

任何开放的端口都将有一个SYN|ACK响应。

然而,攻击者发送一个RST替代ACK,连接中止。

三次握手得不到实现,也就很少有站点能记录这样的探测。

如果是关闭的端口,对最初的SYN信号的响应也会是RST,让NMAP知道该端口不在监听。

"-sS"命令将发送一个SYN扫描探测主机或网络:

#nmap-sS

StartingnmapV.2.12byFyodor

Interestingportson

PortStateProtocolService

21opentcpftp

25opentcpsmtp

53opentcpdomain

80opentcphttp

...

Nmapruncompleted--1IPaddress(1hostup)scannedin1second

虽然SYN扫描可能不被注意,但他们仍会被一些入侵检测系统捕捉。

StealthFIN,Xmas树和Nullscans可用于躲避包过滤和可检测进入受限制端口的SYN包。

这三个扫描器对关闭的端口返回RST,对开放的端口将吸收包。

一个FIN"-sF"扫描将发送一个FIN包到每个端口。

然而Xmas扫描"-sX"打开FIN,URG和PUSH的标志位,一个Nullscans"-sN"关闭所有的标志位。

因为微软不支持TCP标准,所以FIN,XmasTree和Nullscans在非微软公司的操作系统下才有效。

UDP扫描(UDPScanning)

如果一个攻击者寻找一个流行的UDP漏洞,比如rpcbind漏洞或cDcBackorifice。

为了查出哪些端口在监听,则进行UDP扫描,即可知哪些端口对UDP是开放的。

Nmap将发送一个O字节的UDP包到每个端口。

如果主机返回端口不可达,则表示端口是关闭的。

但这种方法受到时间的限制,因为大多数的UNIX主机限制ICMP错误速率。

幸运的是,Nmap本身检测这种速率并自身减速,也就不会产生溢出主机的情况。

#nmap-sU

WARNING:

-sUisnowUDPscan--forTCPFINscanuse-sF

StartingnmapV.2.12byFyodor

Interestingportson

PortStateProtocolService

53openudpdomain

111openudpsunrpc

123openudpntp

137openudpnetbios-ns

138openudpnetbios-dgm

177openudpxdmcp

1024openudpunknown

Nmapruncompleted--1IPaddress(1hostup)scannedin2seconds

操作系统识别(OSFingerprinting)

通常一个入侵者可能对某个操作系统的漏洞很熟悉,能很轻易地进入此操作系统的机器。

一个常见的选项是TCP/IP上的指纹,带有"-O"选项决定远程操作系统的类型。

这可以和一个端口扫描结合使用,但不能和ping扫描结合使用。

Nmap通过向主机发送不同类型的探测信号,缩小查找的操作系统系统的范围。

指纹验证TCP包括使用FIN探测技术发现目标机的响应类型。

BOGUS的标志探测,发现远程主机对发送的带有SYN包的不明标志的反应,TCP初始序列号(ISN)取样发现ISN数值的样式,也可以用另外的方式决定远程操作系统。

有一篇权威的关于指纹(fingertprinting)的文章,

Nmap's操作系统的检测是很准确也是很有效的,举例:

使用系统Solaris2.7带有SYN扫描的指纹验证堆栈。

#nmap-sS-O

StartingnmapV.2.12byFyodor

Interestingportsoncomet

PortStateProtocolService

7opentcpecho

9opentcpdiscard

13opentcpdaytime

19opentcpchargen

21opentcpftp

...

TCPSequencePrediction:

Class=randompositiveincrements

Difficulty=17818(Worthychallenge)

Remoteoperatingsystemguess:

Solaris2.6-2.7

Nmapruncompleted--1IPaddress(1hostup)scannedin5seconds

Ident扫描(IdentScanning)

一个攻击者常常寻找一台对于某些进程存在漏洞的电脑。

比如,一个以root运行的WEB服务器。

如果目标机运行了identd,一个攻击者使用Nmap通过"-I"选项的TCP连接,就可以发现哪个用户拥有http守护进程。

我们将扫描一个LinuxWEB服务器为例:

#nmap-sT-p80-I-O

StartingnmapV.2.12byFyodor

Interestingportson

Port

StateProtocolServiceOwner

80opentcphttproot

TCPSequencePrediction:

Class=randompositiveincrements

Difficulty=1140492(Goodluck!

Remoteoperatingsystemguess:

Linux--2.2.2

Nmapruncompleted--1IPaddress(1hostup)scannedin1second

如果你的WEB服务器是错误的配置并以root来运行,象上例一样,它将是黎明前的黑暗。

Apache运行在root下,是不安全的实践,你可以通过把/etc/indeed.conf中的auth服务注销来阻止ident请求,并重新启动ident。

另外也可用使用ipchains或你的最常用的防火墙,在网络边界上执行防火墙规则来终止ident请求,这可以阻止来路不明的人探测你的网站用户拥有哪些进程。

选项(Options)

除了以上这些扫描,Nmap还提供了无数选项。

有一个是"-PT",,我们已经介绍过了。

在目标机或网络上常见的未经过滤的端口,进行TCP"ping"扫描。

另一个选项是"-P0"。

在缺省设置下试图扫描一个端口之前,Nmap将用TCPping"和ICMPecho命令ping一个目标机,如果ICMP和TCP的探测扫描得不到响应,目标主机或网络就不会被扫描,即使他们是运行着的。

而"-P0"选项允许在扫描之前不进行ping,即可进行扫描。

你应该习惯使用"-v"命令,它详细列出所有信息,能和所有的扫描选项一起使用。

你能反复地使用这个选项,获得有关目标机的更多信息。

使用"-p"选项,可以指定扫描端口。

比如,攻击者想探测你的web服务器的ftp(port21),telnet(port23),dns(port53),http(port80),想知道你所使用的操作系统,它将使用SYN扫描。

#nmap-sS-p21,23,53,80-O-v

小结:

使用什么样的方法来抵制一个黑客使用Nmap,这样的工具是有的,比如Scanlogd,Courtney,andShadow;,然而使用这样的工具并不能代替网络安全管理员。

因为扫描只是攻击的前期准备,站点使用它只可以进行严密的监视。

使用Nmap监视自己的站点,系统和网络管理员能发现潜在入侵者对你的系统的探测。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1