nmap(Network Mapper)网络探测工具和安全/端口扫描器

目录

一、nmap简介:

二、nmap的功能

三、nmap下载

四、nmap安装 (kali系统自带有nmap)

五、nmap的使用

六、实例:探测目标主机操作系统类型


一、nmap简介:

 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。(来自百度百科)

二、nmap的功能

2.1 探测一组主机是否在线;

2.2 扫描 主机端口,嗅探所提供的网络服务

2.3 推断主机所用的操作系统 。

三、nmap下载

下载地址:Nmap: the Network Mapper - Free Security Scanner

在下载页面可以看到各类常用操作系统的下载链接。

四、nmap安装 (kali系统自带有nmap)

4.1 Windows 下nmap的安装:这个简单,略了。

4.2 Linux 下nmap的安装:

       a、 rpm包安装:rpm -vhU https://nmap.org/dist/nmap-7.94-1.x86_64.rpm

       b、源码包安装:

bzip2 -cd nmap-7.94.tar.bz2 | tar xvf -
cd nmap-7.94
./configure
make
su root
make install

五、nmap的使用

nmap参数及含义

Nmap 7.94SVN(https://nmap.org)
使用说明:nmap [扫描类型] [选项] {目标规范}

 5.1 目标规范:
可以传递主机名、IP地址、网络等。
示例:scanme.nmap.org,microsoft.com/24,192.168.0.1;10.0.0-255.1-254
-iL <inputfilename>:从主机/网络列表中读取输入
-iR <num hosts>:选择随机目标
--exclude <host1[,host2][,host3],...>:排除主机/网络
--excludefile <exclude_file>:从文件中排除列表

5.2 主机发现:
-sL:列表扫描 - 仅列出要扫描的目标
-sn:Ping扫描 - 禁用端口扫描
-Pn:将所有主机视为在线 - 跳过主机发现
-PS/PA/PU/PY[portlist]:针对给定端口进行TCP SYN/ACK、UDP或SCTP发现
-PE/PP/PM:ICMP echo、timestamp和netmask请求发现探测
-PO[protocol list]:IP协议Ping
-n/-R:从不进行DNS解析/始终解析 [默认:有时]
--dns-servers <serv1[,serv2],...>:指定自定义DNS服务器
--system-dns:使用操作系统的DNS解析器
--traceroute:跟踪到每个主机的跳数路径

5.3 扫描技术:
-sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon扫描
-sU:UDP扫描
-sN/sF/sX:TCP Null、FIN和Xmas扫描
--scanflags <flags>:自定义TCP扫描标志
-sI <zombie host[:probeport]>:空闲扫描
-sY/sZ:SCTP INIT/COOKIE-ECHO扫描
-sO:IP协议扫描
-b <FTP relay host>:FTP反弹扫描

5.4 端口规范和扫描顺序:
-p <port ranges>:仅扫描指定端口
示例:-p22;-p1-65535;-p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports <port ranges>:从扫描中排除指定的端口
-F:快速模式 - 扫描比默认扫描更少的端口
-r:按顺序扫描端口 - 不随机化
--top-ports <number>:扫描<number>个最常用的端口
--port-ratio <ratio>:扫描比<ratio>更常见的端口

5.5 服务/版本检测:
-sV:探测开放端口以确定服务/版本信息
--version-intensity <level>:设置强度,从0(轻量级)到9(尝试所有探针)
--version-light:限制为最可能的探针(强度为2)
--version-all:尝试每个单独的探针(强度为9)
--version-trace:显示详细的版本扫描活动(用于调试)

5.6 脚本扫描:
-sC:等同于 --script=default
--script=<Lua脚本>:<Lua脚本>是一个逗号分隔的列表,包含目录、脚本文件或脚本类别
--script-args=<n1=v1,[n2=v2,...]>:为脚本提供参数
--script-args-file=filename:在文件中提供NSE脚本参数
--script-trace:显示所有发送和接收的数据
--script-updatedb:更新脚本数据库
--script-help=<Lua脚本>:显示有关脚本的帮助信息
<Lua脚本>是一个逗号分隔的列表,包含脚本文件或脚本类别

5.7 操作系统检测:
-O:启用操作系统检测
--osscan-limit:将操作系统检测限制在具有前景的目标上
--osscan-guess:更积极地猜测操作系统

5.8 时间和性能:
选项中的<time>以秒为单位,也可以在值后附加'ms'(毫秒)、's'(秒)、'm'(分钟)或'h'(小时)(例如30m)。
-T<0-5>:设置时间模板(数值越高速度越快)
--min-hostgroup/max-hostgroup <size>:并行主机扫描组大小
--min-parallelism/max-parallelism <numprobes>:探测并行化
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>:指定探测往返时间
--max-retries <tries>:限制端口扫描探测重传次数
--host-timeout <time>:在这么长时间后放弃目标
--scan-delay/--max-scan-delay <time>:调整探测之间的延迟
--min-rate <number>:每秒发送数据包的速度不低于<number>
--max-rate <number>:每秒发送数据包的速度不高于<number>

5.9 防火墙/IDS规避和伪装:
-f; --mtu <val>:分片数据包(可选项使用给定的MTU)
-D <decoy1,decoy2[,ME],...>:使用诱饵来伪装扫描
-S <IP_Address>:伪装源地址
-e <iface>:使用指定的网络接口
-g/--source-port <portnum>:使用给定的端口号
--proxies <url1,[url2],...>:通过HTTP/SOCKS4代理中继连接
--data <hex string>:向发送的数据包附加自定义负载
--data-string <string>:向发送的数据包附加自定义ASCII字符串
--data-length <num>:向发送的数据包附加随机数据
--ip-options <options>:发送带有指定IP选项的数据包
--ttl <val>:设置IP生存时间字段
--spoof-mac <mac address/prefix/vendor name>:伪装你的MAC地址
--badsum:发送带有伪造TCP/UDP/SCTP校验和的数据包

5.10 输出:
-oN/-oX/-oS/-oG <file>:将扫描结果以正常、XML、s|<rIpt kIddi3和可搜索的格式输出到给定的文件名。
-oA <basename>:同时以三种主要格式输出
-v:增加详细程度(使用-vv或更多以获得更大效果)
-d:增加调试级别(使用-dd或更多以获得更大效果)
--reason:显示端口处于特定状态的原因
--open:仅显示开放(或可能开放)的端口
--packet-trace:显示发送和接收的所有数据包
--iflist:打印主机接口和路由(用于调试)
--append-output:追加到指定的输出文件,而不是覆盖它们
--resume <filename>:恢复中断的扫描
--noninteractive:禁用通过键盘的实时交互
--stylesheet <path/URL>:用于将XML输出转换为HTML的XSL样式表
--webxml:引用来自Nmap.Org的样式表,以获得更便携的XML
--no-stylesheet:防止将XSL样式表与XML输出关联

5.11 其他选项:
-6:启用IPv6扫描
-A:启用操作系统检测、版本检测、脚本扫描和traceroute
--datadir <dirname>:指定自定义Nmap数据文件位置
--send-eth/--send-ip:使用原始以太网帧或IP数据包发送
--privileged:假设用户具有完全权限
--unprivileged:假设用户缺乏原始套接字权限
-V:打印版本号
-h:打印此帮助摘要页面。

5.12 示例:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80

要获取更多选项和示例,请查看手册页(https://nmap.org/book/man.html)

六、实例:探测目标主机操作系统类型

命令:nmap -O 192.168.168.169

完了。


# 一起高呼Rock n' Roll #


  • 31
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)
### 回答1: Nmap是一款著名的端口扫描工具,其最初是运行在Unix系统下的,但后来也有用户将其移植到Windows等操作系统中。 端口扫描是指扫描目标主机的端口开放情况,以便判断该主机所运行的服务。Nmap可以通过TCP、UDP等不同的扫描方式进行端口扫描,并提供了多种不同的扫描模式,比如快速扫描模式、基础扫描模式、操作系统指纹识别等。在使用Nmap进行端口扫描时,用户可以选择不同的扫描选项,如指定扫描端口范围、扫描速度、是否进行IP地址解析等。 Nmap常用于网络渗透测试、漏洞扫描等安全领域,因其具有灵活性和强大的功能而备受青睐。在使用Nmap时,用户需要了解其基本原理和操作技巧,以便更好地利用其功能进行安全评估和漏洞发现。此外,Nmap也有一些相应的GUI工具和第三方扩展可供使用,以帮助用户更加便捷、高效地使用该工具。 ### 回答2: Nmap是一款流行的网络安全工具,主要用于端口扫描、OS侦测和服务识别等。其可以在Windows操作系统下运行,并提供了Graphical User Interface(GUI)和Command Line Interface(CLI)两种操作方式。 在使用Nmap进行端口扫描时,用户可以通过设置不同的扫描选项来满足不同的需求。例如,用户可以使用-sS选项进行TCP SYN扫描,使用-sU选项进行UDP扫描,使用-Pn选项跳过主机存活性检测等。同时,用户还可以使用不同的扫描程序进行快速或全面的扫描。 除了端口扫描外,Nmap还提供了OS侦测和服务识别等功能。其通过对目标主机的网络活动进行分析,判断目标主机的操作系统类型和版本、开放的服务及其版本等信息。 不过,需要注意的是,使用Nmap进行端口扫描可能会触犯法律,特别是未经授权扫描对方网络。因此,在使用Nmap时需要遵守相关法规和道德规范,避免给自己和他人带来不必要的麻烦。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值