`

linux nmap 命令

阅读更多
Nmap即Network Mapper,它是在免费软件基金会的GNU General Public License (GPL)下发布的。其基本功能有:探测一组主机是否在线;扫描主机端口,嗅探提供的网络服务;判断主机的操作系统。软件下载后,执行configure、make和make install三个命令,将nmap二进制码安装到系统上,就可以执行nmap了。

官网下载:http://nmap.org/download.html

或下载包

rpm -vhU http://nmap.org/dist/nmap-5.21-1.i386.rpm
rpm -vhU http://nmap.org/dist/zenmap-5.21-1.noarch.rpm

测试系统:CentOS5.3

      Nmap的语法很简单,但功能十分强大。比如:Ping-scan命令就是“-sP”,在确定了目标主机和网络之后,即可进行扫描。如果以root来运行Nmap,Nmap的功能会更加增强,因为超级用户可以创建便于Nmap利用的定制数据包。使用Nmap进行单机扫描或是整个网络的扫描很简单,只要将带有“/mask”的目标地址指定给Nmap即可。另外,Nmap允许使用各类指定的网络地址,比如192.168.1.*,是对所选子网下的主机进行扫描。

nmap的使用方法

下面是Nmap支持的四种最基本的扫描方式:

    * TCP connect()端口扫描(-sT参数)。

    * TCP同步(SYN)端口扫描(-sS参数)。

    * UDP端口扫描(-sU参数)。

    * Ping扫描(-sP参数)

如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。

    * Ping扫描通过发送ICMP(Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。

    * TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接也就是说,扫描器打开了两个主机之间的完整握手过程(SYN, SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。

    * TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用 SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。

-sS 使用SYN+ACK的方法,使用TCP SYN,

-sT 使用TCP的方法, 3次握手全做

-sU 使用UDP的方法

-sP ICMP ECHO Request 送信,有反应的端口进行调查

-sF FIN SCAN

-sX

-sN 全部FLAG OFF的无效的TCP包送信,根据错误代码判断端口情况

-P0 无视ICMP ECHO request的结果,SCAN

-p scan port range 指定SCAN的目端口的范围

   1-100, 或者使用25,100的方式

-O 侦测OS的种类

-oN 文件名 通常格式文件输出

-oX 文件名 通过DTD,使用XML格式输出结果

-oG 文件名,grep容易的格式输出

-sV 服务的程序名和版本SCAN

Ping扫描:入侵者使用Nmap扫描整个网络寻找目标。通过使用“-sP”命令,缺省情况下,Nmap给每个扫描到的主机发送一个ICMP echo和一个TCP ACK,主机对任何一种的响应都会被Nmap得到。如下所示。

[root@coremail ~]# nmap -sP 192.168.1.60

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:46 CST
Nmap scan report for 192.168.1.60
Host is up (0.00085s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds

Nmap支持不同类别的端口扫描,TCP连接扫描可以使用“-sT”命令,TCP connect()端口扫描(-sT参数)。具体如下所示:
[root@coremail ~]# nmap -sT 192.168.92.129

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:51 CST
Nmap scan report for 192.168.92.129
Host is up (0.0017s latency).
Not shown: 997 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
11111/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds



隐蔽扫描(Stealth Scanning) 。在扫描时,如果攻击者不想使其信息被记录在目标系统日志上,TCP SYN扫描可帮你的忙。使用“-sS”命令,就可以发送一个SYN扫描探测主机或网络。如下所示。

[root@coremail ~]# nmap -sS www.baidu.com

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:51 CST
Nmap scan report for www.baidu.com (220.181.6.175)
Host is up (0.0094s latency).
Not shown: 998 filtered ports
PORT   STATE SERVICE
21/tcp open  ftp
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 56.54 seconds

如果一个攻击者想进行UDP扫描,即可知哪些端口对UDP是开放的。Nmap将发送一个O字节的UDP包到每个端口。如果主机返回端口不可达,则表示端口是关闭的。UDP端口扫描(-sU参数)。如下所示。

[root@coremail ~]# nmap -sU 192.168.92.129

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:53 CST
Nmap scan report for 192.168.92.129
Host is up (0.000019s latency).
Not shown: 996 closed ports
PORT    STATE         SERVICE
68/udp  open|filtered dhcpc
111/udp open          rpcbind
123/udp open|filtered ntp
631/udp open|filtered ipp

Nmap done: 1 IP address (1 host up) scanned in 1.93 secon


操作系统识别。通过使用“-O”选项,就可以探测远程操作系统的类型。Nmap通过向主机发送不同类型的探测信号,缩小查找的操作系统系统的范围。如图6所示。

[root@coremail ~]# nmap -sS -O 192.168.92.129

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:56 CST
Nmap scan report for 192.168.92.129
Host is up (0.00024s latency).
Not shown: 997 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
11111/tcp open  unknown
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.15 - 2.6.30
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.72 seconds



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

[root@coremail ~]# nmap -sT -p 80  -O  www.baidu.com

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 12:58 CST
Nmap scan report for www.baidu.com (220.181.6.175)
Host is up (0.0069s latency).
PORT   STATE    SERVICE
80/tcp filtered http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|storage-misc|WAP|game console
Running (JUST GUESSING) : Apple Mac OS X 10.5.X (96%), BlueArc embedded (87%), KCorp embedded (86%), Nintendo embedded (86%)
Aggressive OS guesses: Apple Mac OS X 10.5.5 (Leopard) (96%), BlueArc Titan 2100 NAS device (87%), KCorp KLG-575 WAP (86%), Nintendo DS game console (86%)
No exact OS matches for host (test conditions non-ideal).

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.39 seconds

[root@coremail ~]# nmap -sT -p 80  -O  192.168.92.129

Starting Nmap 5.21 ( http://nmap.org ) at 2010-06-08 13:00 CST
Nmap scan report for 192.168.92.129
Host is up (0.00014s latency).
PORT   STATE SERVICE
80/tcp open  http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.15 - 2.6.30
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.86 seconds



隐藏扫描的源地址:

      假设你的系统IP是192.168.1.20,但是你希望你的系统发出的所有NMAP包都被标注为IP地址20.20.20.20,那你可以用下面的命令来对名为sandi德系统发出数据包:

          nmap  -S 20.20.20.20 -e eth0 -P0 -sS -v sandi

    -P0(不PING)和-sS(TCP SYN隐藏端口扫描)使得Nmap执行基于 TCP扫描但不首先发ping 数据包。-sS选项能帮助进行的扫描通过过滤初始SYN数据包的防火墙。

       要让系统使用端口53来发送数据包执行和上面相似的扫描,可发出下面的命令

      nmap -g 53 -S 20.20.20.20  -e eth0 -P0 -sS -v sandi

     除了以上这些扫描,Nmap还提供了很多选项,这是很多Linux攻击者的必备法宝之一,通过这个软件,我们就可以对系统了如指掌,从而为下面的攻击打下良好的基础。



分享到:
评论

相关推荐

    Linux系统的Nmap命令实用范例.zip

    Linux系统的Nmap命令实用范例

    Nmap常用命令

    Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

    基础的Linux常用命令

    在此我就介绍几条比较基础的Linux命令帮助大家入门。 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。 2. ls...

    nmap和tcpdump命令详解

    详细介绍nmap和tcpdump命令的使用

    nmap 扫描端口使用

    上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。  其他选项:  -p (只扫描指定的端口)  单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口...

    cmd操作命令和linux命令大全收集

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    NMAP简单使用

    上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。 其他选项: -p (只扫描指定的端口) 单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前...

    网络安全实验---NMAP扫描.docx

    表19-1-2 各操作系统ICMP回显应答TTL对照 操作系统 Unix及类Unix Windows NT/2K/03 Windows 95/98/ME Linux Kernel 2.6.x TTL字段值 255 128 32 64 3.Nmap介绍 nmap是一个网络探测和安全扫描程序,系统管理者和...

    Dracnmap:Dracnmap是一个开源程序,用于利用网络并在nmap帮助下收集信息。 Nmap命令带有许多选项,这些选项可以使实用程序更强大,并且对于新用户而言很难遵循。 因此,Dracnmap设计为使用nmap脚本引擎执行快速扫描,而nmap可以使用高级命令执行各种自动扫描技术

    Dracnmap:Dracnmap是一个... Nmap命令带有许多选项,这些选项可以使实用程序更强大,并且对于新用户而言很难遵循。 因此,Dracnmap设计为使用nmap脚本引擎执行快速扫描,而nmap可以使用高级命令执行各种自动扫描技术

    Linux命令笔记

    12:nmap 端口扫描 13:ifup/ifdown 启动/禁止网卡 常用命令/关机重启 1:shutdown 关机或重启 语法:shutdown [选项] 时间 2:halt 关机 语法:halt 3:poweroff 关机 语法:poweroff 4:init 关机或重启 语法:init ...

    Linux下网络探测工具nmap的使用

    介绍  Nmap(Network Mapper)是一款开放源代码的...  命令  nmap [扫描类型…] [选项] {扫描目标说明}  Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。“所感兴

    Linux从零入门实战-2019年七月Z线.txt

    知识点3: 网络测试命令:主机 ping/ 本机端口:netstat/ 嗅探器 nmap 知识点4: 通俗理解iptables 实战项目: Linux 防火墙实战配置 第七讲 HTTP网络服务 知识点1: HTTP基础 知识点2: LNMP 架构服务搭建 知识点3...

    操作系统安全:kalilinux简介.ppt

    运行这个命令,并将输出放到一个名为newpasswordlist.txt的文本文件中,可用如下实例输入: * 通常,用户利用Nmap来进行网络系统安全的评估,而黑客则利用扫描网络。例如,通过向远程主机发送探测数据包,获取主机的...

    NMapGUI:NMap的高级图形用户界面

    不支持更高版本(问题25)- 如果您对NMapGUI的使用有任何疑问或想与我联系,请访问:产品特点跨平台(您可以在Linux,Windows,MacO等上使用它) 同时执行多个命令。 标准NMap输出。 HTML报告NMap输出。 交互式...

    Linux shell实现批量关闭局域网中主机端口

     1、通过nmap命令查询局域网中所有主机打开的端口,并存入文件nmap1.txt中。  1 # 通过nmap命令查询局域网中所有主机打开的端口,并存入文件nmap1.txt中  2 mkdir -p /wuhao/sh/files  3 nmap $1 > /wuhao/...

    iptables详细命令

    iptables详细命令

    Linux ftp 命令行中下载文件get与上传文件put的命令应用详解

    介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo。以下为使用该连接做的实验。  ...get nmap_file [nmap] 意思是把远程ftp服务器下

    shapecfg命令 管制网络设备的流量

    shapecfg命令用于管制网络设备的流量...与该功能相关的Linux命令:tracepath命令 – 追踪报文的路由信息rexec命令 – 远程执行指令客户端nmap命令 – 网络探测工具和安全和端口扫描器sftp命令 – 交互式的文件传输程序i

    recon:根据Nmap结果枚举目标

    OG自动侦察 特征 OG Auto-Recon的目的是使初始信息收集阶段自动化,然后... 该项目使用各种独立的自定义工具,根据nmap结果枚举目标。 使用命名上下文“ report / IP-ADDRESS /”将所有命令和输出记录到用户〜/ .local

    查看远程 Linux 系统中某个端口是否开启的三种方法

    这是一个很重要的话题,不仅对 Linux 管理员而言,对于我们大家而言也非常有帮助。我的意思是说对于工作在 IT 基础设施行业的用户来说,了解这个话题也是非常有用的...如何使用 nc(netcat)命令来查看远程 Linux 系统

Global site tag (gtag.js) - Google Analytics