网络安全-端口扫描神器Nmap使用详解与参数指导_nmap全端口扫描参数

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

–data-string : Append a custom ASCII string to sent packets
–data-length : Append random data to sent packets
–ip-options : Send packets with specified ip options
–ttl : Set IP time-to-live field
–spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address
–badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:
-oN/-oX/-oS/-oG : Output scan in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.

-oA : Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
–reason: Display the reason a port is in a particular state
–open: Only show open (or possibly open) ports
–packet-trace: Show all packets sent and received
–iflist: Print host interfaces and routes (for debugging)
–append-output: Append to rather than clobber specified output files
–resume : Resume an aborted scan
–stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
–webxml: Reference stylesheet from Nmap.Org for more portable XML
–no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script scanning, and traceroute
–datadir : Specify custom Nmap data file location
–send-eth/–send-ip: Send using raw ethernet frames or IP packets
–privileged: Assume that the user is fully privileged
–unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page.

EXAMPLES:
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
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES

接下来进行展示
攻击机:kali(Nmap 7.80)
靶机:owaspbwa、metasploitable_ubuntu
搭建过程:《MetaSploit渗透测试魔鬼训练营》之环境搭建

目标指定

CIDR风格 192.168.1.0/24
域名或ip www.baidu.com,www.zhihu.com,192.168.31.128
分割线 10.22-25.43.32

文件读入

-iL : 从文件中读入带扫描主机或网络列表
在这里插入图片描述

随机

-iR : 随机选择num个作为目标
个人认为没必要,需要随机时在调用nmap的外层软件随机即可,主要是有些防御手段发现某ip挨个访问网络内的主机时,可能封ip。

排除

–exclude <host1[,host2][,host3],…>: 排除主机/网络
–excludefile <exclude_file>:从文件中排除

在这里插入图片描述
从文件排除的留给读者实践吧。

主机发现

-sL: 简单列表扫描
-sP/-sn: 不进行端口扫描,仅发现主机
-Pn: 将所有主机视为在线,跳过主机发现
-PS/PA/PU/PY[portlist]: 使用TCP SYN/ACK, UDP or SCTP对所给端口进行主机发现
-PE/PP/PM:ICMP回显、时间戳和网络掩码请求发现探测
-PO[protocol list]: IP 协议 Ping
-n/-R: 从不进行DNS解析/始终解析[默认值:有时]
–dns-servers <serv1[,serv2],…>:指定自定义DNS服务器
–system-dns: 使用操作系统的DNS解析程序
–traceroute: 跟踪每个主机的跃点路径

-sn之前叫做-sP,目前版本也可以使用,建议用最新的。在这里插入图片描述
–traceroute发现路径
在这里插入图片描述
显示有一跳

扫描技术

-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 扫描
-sU: UDP 扫描
-sN/sF/sX: TCP Null, FIN, and Xmas 扫描
–scanflags : 自定义TCP扫描标志
-sI <zombie host[:probeport]>: Idle 扫描
-sY/sZ: SCTP INIT/COOKIE-ECHO 扫描
-sO: IP 协议扫描
-b : FTP反弹扫描
使用-sS进行半连接扫描在这里插入图片描述 使用wireshark抓包,可以看到发送 的TCP数据包,SYN是最快的,半连接。

端口指定和扫描顺序

-p : 仅扫描指定的具体端口 例如: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
–exclude-ports : 排除这些端口
-F: 快速模式,比默认的端口扫描的更少
-r: 连续扫描端口,不要随机化
–top-ports : 扫描个最常见的端口
–port-ratio : 扫描比更常见的端口
使用–top-ports来扫描常用top5端口在这里插入图片描述
端口6大状态
open(开放的)
应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。

closed(关闭的)
关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。

filtered(被过滤的)
由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。

unfiltered(未被过滤的)
未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。

open|filtered(开放或者被过滤的)
当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。

closed|filtered(关闭或者被过滤的)
该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。

服务/版本发现

-sV: 探测打开的端口,确定服务/版本信息
–version-intensity :从0到9(尝试所有探测)
–version-light:限制为仅对最可能的进行探测(强度2)
–version-all: 尝试所有探测(强度9)
–version-trace: 显示详细的版本扫描活动(用于调试)
使用-sV来查看端口对应服务及版本在这里插入图片描述

脚本扫描

-sC: 相当于–script=default
–script=: 是以逗号分隔的目录、脚本文件或脚本类别列表
–script-args=<n1=v1,[n2=v2,…]>: 为脚本提供参数
–script-args-file=filename: 在文件中提供NSE脚本参数
–script-trace: 在文件中提供NSE脚本参数显示所有发送和接收的数据
–script-updatedb: 更新脚本数据库
–script-help=: 展示脚本的帮助
查看脚本列表
在这里插入图片描述
查看脚本内容
在这里插入图片描述
查看脚本帮助并使用
在这里插入图片描述

操作系统版本

-O: 操作系统探测
–osscan-limit: 将操作系统检测限制在有希望的目标上
–osscan-guess: 更积极地猜测操作系统
使用-O探测操作系统在这里插入图片描述

时间与性能

选项以秒为单位,或附加“ms”(毫秒),“s”(秒)、“m”(分钟)、“h”(小时)设置为值(例如30m)。
-T<0-5>: 设置计时模板(越高速度越快)
–min-hostgroup/max-hostgroup : 并行主机扫描组大小
–min-parallelism/max-parallelism : 并行化探测
–min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout

模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前两种模式用于IDS躲避,Polite模式降低了扫描 速度以使用更少的带宽和目标主机资源。默认模式为Normal,因此-T3 实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。

这个一般设置模板为4,很少一个个去设置。
在这里插入图片描述

防火墙/入侵防御 绕过

-f; --mtu : 片段数据包(可选择w/给定MTU)
-D <decoy1,decoy2[,ME],…>: 用诱饵掩盖扫描
-S <IP_Address>: 欺骗源地址
-e : 使用指定的接口
-g/–source-port : 使用给定的端口号
–proxies <url1,[url2],…>: 通过HTTP/SOCKS4代理中继连接
–data : 将自定义有效负载附加到发送的数据包
–data-string : 向发送的数据包附加自定义ASCII字符串
–data-length : 向发送的数据包附加随机数据
–ip-options :使用指定的ip选项发送数据包
–ttl : 设置IP生存时间字段
–spoof-mac <mac address/prefix/vendor name>: 伪造你的MAC地址
–badsum: 使用伪TCP/UDP/SCTP校验和发送数据包
可以使用-S --spoof-mac来伪造MAC地址,当然, 最重要的是去除Nmap的流量特征,见参考。
没有欺骗前的数据包在这里插入图片描述
数据包的具体内容
在这里插入图片描述
使用-S --spoof-mac等进行欺骗
在这里插入图片描述

修改后,打开具体的数据包,可以看到ip和mac地址都被修改了。
在这里插入图片描述

输出

-oN/-oX/-oS/-oG : 分别以普通文本文件、XML、ScRipTKIdd|3oUTpuT和可Grep格式输出到给定文件路径。
-oA :同时以三种主要格式输出(分别以.nmap、.gnmap、.xml保存)
-v: 增加详细程度(使用-vv或更多以获得更大效果)
-d: 提高调试级别(使用-dd或更多以获得更大的效果)
–reason: 显示端口处于特定状态的原因
–open: 仅显示打开(或可能打开)的端口
–packet-trace:显示发送和接收的所有数据包
–iflist: 打印主机接口和路由(用于调试)
–append-output: 附加到指定的输出文件,而不是删除指定的输出文件
–resume : 恢复中止的扫描
–stylesheet <path/URL>: 将XML输出转换为HTML的XSL样式表
–webxml: 请参考Nmap.Org中的样式表以获取更具可移植性的XML
–no-stylesheet: 防止XSL样式表与XML输出关联
一般情况下,我们就是输出到了控制台,也可以输出到文件进行保存,方便之后的分析。
这里使用xml格式作为演示,下方参考的平衡准确率和速率那篇文章用的-oG,方便使用grep命令等进行文件操作,当然使用xml保存也可以用一下xml解析包对文件进行处理。 -oS基本不用。在这里插入图片描述

杂项

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

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
网络安全实验---NMAP扫描文共8页,当前为第1页。网络安全实验---NMAP扫描文共8页,当前为第1页。实验目的和要求 网络安全实验---NMAP扫描文共8页,当前为第1页。 网络安全实验---NMAP扫描文共8页,当前为第1页。 了解信息搜集的一般步骤 学会熟练使用ping命令 学会利用Nmap等工具进行信息搜集 实验内容和原理 1.信息搜集的步骤 攻击者搜集目标信息一般采用七个基本的步骤: (1) 找到初始信息,比如一个IP地址或者一个域名; (2) 找到网络地址范围,或者子网掩码; (3) 找到活动机器; (4) 找到开放端口和入口点; (5) 弄清操作系统; (6) 弄清每个端口运行的是哪种服务; (7) 画出网络结构图。 2.ping命令探测技巧 使用ping可以测试目标主机名称和IP地址,验证与远程主机的连通性,通过将ICMP回显请求数据包发送到目标主机,并监听来自目标主机的回显应答数据包来验证与一台或多台远程主机的连通性,该命令只有在安装了TCP/IP协议后才可以使用。 ping命令格式:ping [选项] 目标主机。常用选项见表19-1-1。 表19-1-1 ping命令常用选项 选项功能 Windows Linux 对目标主机进行连续的ping操作 -t 无参数 将地址解析为计算机名(适用Windows系统) -a -- 指定发送ICMP回显请求数据包个数 -n -c 指定回显请求数据负载(ICMP负载)大小 -l -s 指定发送数据包的TTL生存时间 -i -t 指定超时时间(毫秒) -w -- 指定发送时间间隔 -- -i 网络安全实验---NMAP扫描文共8页,当前为第2页。网络安全实验---NMAP扫描文共8页,当前为第2页。洪泛ping 网络安全实验---NMAP扫描文共8页,当前为第2页。 网络安全实验---NMAP扫描文共8页,当前为第2页。 -- -f 指定回显数据包记录路由的最大量 -r -- 记录路由 -- -R 指定回显数据包按列表路由 -j/-k -- 生存时间(TTL):指定数据报被路由器丢弃之前允许通过的网段数量。TTL是由发送主机设置的,以防止数据包在网络中循环路由。转发IP数据包时,要求路由器至少将TTL减小1。 TTL字段值可以帮助我们猜测操作系统类型,如表19-1-2所示。 表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是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口映射),碎片扫描,以及灵活的目标和端口设定。 nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有:open、filtered、unfiltered。open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。filtered状态表示:防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止nmap探测其是否打开。unfiltered表示:这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下,端口的状态基本都是unfiltered状态,只有在大多数被扫描的端口处于filtered状态下,才会显示处于unfiltered状态的端口。 根据使用的功能选项,nmap也可以报告远程主机的下列特征:使用的操作系统、TCP网络安全实验---NMAP扫描文共8页,当前为第3页。网络安全实验---NMAP扫描文共8页,当前为第3页。序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。 网络安全实验---NMAP扫描文共8页,当前为第3页。 网络安全实验---NMAP扫描文共8页,当前为第3页。 4.Nmap常用命令选项 执行命令:nmap[扫描类型][扫描选项]。常用命令选项见表19-1-3。 表19-1-3

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值