Ubuntu 18.04及其他版本Linux 下 Nmap 网络扫描工具的安装与使用
本文介绍在Ubuntu 18.04及其他版本Linux 下 Nmap 网络扫描工具的安装与使用方法。
Nmap(“Network Mapper”)是一个用于网络探索和安全审计的开源工具。它被设计用来快速扫描大型网络,尽管它在单主机上运行良好。
NMAP是一款流行的网络扫描和嗅探工具也是一个强大的端口扫描类安全测评工具,被广泛应用在安全扫描,nmap是一个好用的网络工具,在生产和开发中也经常用到,主要做端口开放性检测和局域网信息的查看收集等,不同Linux发行版包管理中一般也带有nmap工具,这里选择去官网下载源码包进行编译安装,nmap的官网是是:https://namp.org。
Nmap支持在Windows、Unix/Linux以及MAC OS平台下运行。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机、那些主机提供什么服务(应用程序名和版本)、那些服务运行在什么操作系统(包括版本信息)、它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。
Linux下安装方法:
方法1:
Ubuntu Linux使用 apt-get install nmap 可以直接安装 nmap。LaMont Jones 维护了Nmap 的 deb 安装包。稳定的版本在 http://packages.debian.org/stable/nmap, 开发的版本(不稳定的版本)在 http://packages.debian.org/unstable/nmap 和 http://packages.debian.org/unstable/zenmap。
方法2:
Nmap Debian 版本可能比当前的版本晚一年甚至更长的时间。如果想获取最新版本,可以用源码编译。 参考:https://www.linuxboy.net/Linux/2019-08/160068.htm。
方法3:
另一种方式是下载 RPM 格式的 nmap 包,然后使用 alien 工具把他转换成 debian 包,再用 dpkg 工具安装。
步骤如下:
1.安装 alien do apt-get install alien
2.下载 Nmap RPMs 从 https://nmap.org/download.html。这里用 nmap-7.80-1.x86_64.rpm
3.验证下载的完整性,参考:https://nmap.org/book/install.html#inst-integrity
4.转化 sudo alien nmap-7.80-1.x86_64.rpm
5.安装 sudo dpkg --install nmap_7.80-1_amd64.deb
方法4:
linuxidc@linuxidc:~/www.linuxboy.net$ snap install nmap
检测是否安装成功:
linuxidc@linuxidc:~/www.linuxboy.net$ nmap -v
附:
Linux RPM源和二进制文件
许多流行的Linux发行版(RedHat,Mandrake,SUSE等)使用RPM包管理系统来快速简便地进行二进制包安装。 我们已经编写了一个安装RPM包的详细指南,尽管这些简单的命令通常可以解决问题:
rpm -vhU https://nmap.org/dist/nmap-7.80-1.x86_64.rpm
rpm -vhU https://nmap.org/dist/zenmap-7.80-1.noarch.rpm
rpm -vhU https://nmap.org/dist/ncat-7.80-1.x86_64.rpm
rpm -vhU https://nmap.org/dist/nping-0.7.80-1.x86_64.rpm
您也可以自己下载并安装RPM:
最新稳定版:
x86-64 (64-bit Linux) Nmap RPM: nmap-7.80-1.x86_64.rpm
x86-64 (64-bit Linux) Ncat RPM: ncat-7.80-1.x86_64.rpm
x86-64 (64-bit Linux) Nping RPM: nping-0.7.80-1.x86_64.rpm
可选的 Zenmap GUI (所有平台): zenmap-7.80-1.noarch.rpm
RPM源码(包括Nmap,Zenmap,Ncat和Nping): nmap-7.80-1.src.rpm
Nmap使用:
扫描语法及类型
命令格式
nmap [扫描类型] [选项]
其中,扫描目标可以是主机名、ip地址或网络地址等,多个目标以空格分隔;常用的选项有"-p"、"-n",分别用来指定扫描的端口、禁止反向解析(以加快扫描速度);扫描类型决定着扫描的方式,也直接影响扫描结果。
比较常用的几种扫面类型:
-sS, TCP SYN 扫描(半开扫描):只向目标发出 SYN 数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT,TCP 连接扫描:这完整的 TCP 扫描方式,用来建立一个 TCP 连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sF,TCP FIN 扫描:开放的端口会忽略这种数据包,关闭的端口会响应 RST 数据包。许多防火墙只对 SYN 数据包进行简单过滤,而忽略其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU,UDP 扫描:探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢。
-sP,ICMP 扫描:类似 ping 检测,快速判断目标主机是否存活的,不做其他扫描。
-P0,跳过 ping 检测:这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping 通而放弃扫描。
示例
*针对本机进行扫描,检测开放了哪些常用的TCP端口、UDP端口
linuxidc@linuxidc:~/www.linuxboy.net$ nmap 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2019-08-14 20:38 CDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000067s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
25/tcp open smtp
631/tcp open ipp
3306/tcp open mysql
5432/tcp open postgresql
Nmap done: 1 IP address (1 host up) scanned in 1.33 seconds
如下图:
在扫描结果中,STATE列若为 open 则表示开放状态,为 filtered 表示可能被防火墙过滤,为 closed 表示端口为关闭状态。
*检测 192.168.10.0/24 网段中哪些主机提供FTP服务
nmap -p 21 192.168.10.0/24
*快速检测192.168.10.0/24网段中有哪些存活主机(能 ping 通)
nmap -n -sP 192.168.10.0/24
*检测IP地址位于192.168.10.100~200 的主机是否开启文件共享
nmap -p 139,445 192.168.10.100-200
下面,nmap工具的基本用法:
扫描特定主机:#nmap 192.168.1.2
扫描整个子网:#nmap 192.168.1.1/24
扫描多个目标:#nmap 192.168.1.2 192.168.1.5
扫描一个范围内主机:#nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
向目标发送两个ping数据包:#nmap -sn -PE -c 2 --send-ip 192.168.1.1
linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx
本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-08/160069.htm