nmap命令
NMAP(网络映射器,)是一个用于网络扫描的免费和鸦片源安全工具。
NMAP的一些主要功能是扫描开放式端口,服务发现和安全性以及漏洞审核。
NMAP最常用于命令行界面,可用于许多不同的操作系统,例如Ubuntu,CentOS,RedHat,免费BSD和MINT。
在本教程中,我们将使用一些示例查看一些最常用的nmap命令。
安装nmap.
默认情况下,NMAP未安装在Debian,Ubuntu,Hat,CentOS和Fedora等大多数Linux发行版上。
但它可在yum上使用,并且可以轻松安装。
以下命令在Linux上安装NMAP:
CentOS和Redhat基系统
$sudo yum install nmap
在Ubuntu和基于Debian的系统上
$sudo apt-get install nmap
1.扫描特定主机
要扫描特定主机(这假设我们已拥有主机的IP或者主机名)并显示基本信息,请使用命令:
$nmap IP-address
例如,
$nmap 192.163.43.103
上面的命令快速并在短时间内生成输出
我们还可以使用主机名扫描而不是IP地址
$nmap ubuntu-server
要扫描一系列IPS,请使用语法
$nmap 192.163.43.1-103
该命令将扫描来自`IP 192.168.43.1至192.168.43.103的所有主机
2.对系统进行彻底扫描
我们可以使用如下所示的"-A"标志透露有关主机系统的所有信息。
这将揭示与主机系统相关的所有信息,如底层操作系统,打开端口,运行运行及其版本等。
$nmap -A 192.163.43.103
从输出中,我们可以看到命令执行操作系统和服务检测,为我们提供详细信息,如服务类型及其版本,以及它运行的端口。
该命令通常需要一段时间才能运行,但它是彻底的,让我们所有需要了解特定主机系统。
3.扫描特定端口
要扫描特定端口并检查它是否在下面的语法中使用-p标志:
$nmap -p port_number IP-address
例如,在主机系统上扫描端口80运行:
$nmap -p 80 192.168.43.103
要扫描一系列端口,例如在80-433之间使用语法:
$nmap -p 25-443 192.168.43.13 or $nmap -p 80,443 192.168.43.13
4.查找主机服务名称及其版本
要检查有关在主机上运行的服务的基本信息,请使用如下所示的"-SV"标志:
$nmap -sV 192.168.43.103
5.扫描整个网络子网
要在网络子网中扫描设备,请使用CIDR表示法如图所示
$nmap 192.168.43.0/24
6.在扫描时排除特定主机
当我们执行完整的网络扫描时,我们可以选择使用- xclude
标志排除特定主机。
在下面的示例中,我们将排除我们的Kali Linux机器被扫描。
$nmap 192.168.43.* --exclude 192.168.43.8
7.显示主机接口和路由
在特定主机上显示接口和路由,使用如图所示的" - " - " - " - " - " - " - " - "(例如)"标志。
$nmap 192.168.43.103 --iflist
8.使用TCP ACK和TCP SYN扫描远程主机
有时,防火墙可以阻止ICMP请求干扰扫描结果。
在这种情况下,我们使用TCP SYN(PS)和TCP ACK(PA)来达到所需的结果。
$nmap -PS 192.168.43.103
$nmap -PA 192.168.43.103
9.扫描以检测防火墙设置
我们可以使用NMAP工具执行扫描以显示防火墙是否打开或者如图所示
$nmap -sA 192.168.43.223
首先,防火墙被禁用,因此不运行。
(港口未经过滤)。
在第二个实例中,已启用防火墙,并且发现开放端口的机会将是最小的。
10.扫描TCP或者UDP端口
要扫描在主机上打开的TCP端口,请使用如下所示的-st
标志:
$nmap -sT 192.168.43.103
要扫描UDP端口,请使用-su
标志
$nmap -sU 192.168.43.103
11.将扫描结果保存在文件中
完成扫描后,我们可以使用-on标志将结果保存在文本文件中,并指定输出文件,如下所示:
$nmap -oN scan.txt 192.168.43.103
文件将在当前工作目录中创建。
要查看视图,只需使用cat命令,如图所示:
$cat results.txt
此外,我们可以使用重定向符号(>)大于符号以将输出重定向到其他文件,
$nmap 192.168.43.103 > output.txt
12.使用一组NMAP脚本进行扫描
NMAP包含许多强大的脚本,用于漏洞扫描,从而指出系统中的弱点。
要获取NSE脚本的位置,只需运行命令:
$locate *nse
我们可以使用如图所示的"--script""选项加载NMAP脚本。
$nmap -sV --script=mysql-info.nse 192.168.43.103
要使用最默认的脚本扫描,请使用语法
$nmap -sC 192.168.43.103