nmap使用

nmap使用

nmap官方文档(opens new window) 官方文档

常用参数

nmap -T4 -A -v -Pn IP
#最常用的一种扫描

-T4		#设置时序,越高扫描越快
-A		#启用操作系统检测,版本检测,脚本扫描和跟踪路由
-v		#增加详细级别(使用-vv或更高级别以获得更好的效果)
-Pn		#无ping扫描

主机发现

nmap [Scan Type(s)] [Options] {target specification} #指令格式

#Scan Types 指探测类型:
-PSTCP SYN Ping-PATCP ACK Ping-PUUDP Ping
-PE
#ICMP Ping,现在很多主机封锁这些报文,适用于管理员监视内部网络

#Options 指探测选项:
-n 指不对活动的 IP 地址进行反向域名解析,用以提高扫描速度
-R 指对活动的 IP 进行反向域名解析

#target specification 指探测的目标地址或 IP 地址范围
192.168.0.1-255

默认主机发现扫描

nmap 192.168.0.1-255

Nmap 会发送一个 ICMP echo 请求,一个 TCP SYN 包给 443 端口,一个 TCP ACK 包给 80 端口和一个 ICMP 时间戳请求

这就等价于使用命令 nmap -PE -PS443 -PA80 -PP 192.168.0.1-255

此命令返回一个 IP 地址段中活动的主机,及其 IP 地址,主机域名,开启的服务以及相应的端口,MAC 地址等信息

其它命令

nmap -sP 192.168.0.1-255	#ping扫描,只列出存活主机,速度最快
nmap -Pn 192.168.0.1-255	#无ping扫描,结果和默认主机发现一样

其它参数

-O	#启用操作系统检测
-sV	#探测服务版本信息
-v	#增加详细级别(使用-vv或更高级别以获得更好的效果)
--script=script_name	#使用nse脚本

端口扫描

nmap -p 1-65535 192.168.0.8		# -p选项,只扫描指定的端口

Nmap所识别的6个端口状态

open(开放的)

应用程序正在该端口接收TCP 连接或者UDP报文。

closed(关闭的)

关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。

filtered(被过滤的)

由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。

过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。

unfiltered(未被过滤的)

未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。

只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。

用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。

open|filtered(开放或者被过滤的)

当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。

开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。

因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。

closed|filtered(关闭或者被过滤的)

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

端口扫描技术

#只列举常见的,详细可参考官方文档
  -sT	#TCP连接扫描
  -sS	#SYN扫描
  -sU	#UDP扫描
  -sA	#ACK扫描
  -sF	#FIN扫描

TCP连接扫描

使用操作系统的网络连接系统调用 connect(),对目标主机发起 TCP 三路握手,待完成后 Nmap 立即中断此次连接。

Nmap 通过获取每个尝试连接的状态信息来判定侦测端口的状态

SYN扫描

Nmap 产生一个 SYN 数据报文,如果侦测端口开放并返回 SYN-ACK 响应报文

Nmap 据此发送 RST 报文给侦测端口结束当前连接,这样做的好处在于缩短了端口扫描时间

UDP扫描

UDP 本身是无连接的协议,Nmap 向目标主机的端口发送 UDP 探测报文

如果端口没有开放,被侦测主机将会发送一个 ICMP 端口不可到达的消息

Nmap 根据这个消息确定端口闭合(closed)或者被过滤 (unfiltered)

通常没有回复意味着端口是开放(open)状态 。

ACK扫描

这种扫描比较特殊,它不能确切知道端口的基本状态,而是主要用来探测防火墙是否存在以及其中设定的过滤规则

FIN扫描

和 SYN 扫描相比,这种方式更为隐蔽,因此能够穿过防火墙的过滤

关闭(closed)端口将会返回合适的 RST 报文,而开放端口将忽略这样的侦测报文

具备类似防火墙不敏感特性的还有 -sN NULL 扫描,-sX X-mas 扫描。

防火墙/IDS逃逸

nmap -f --mtu=16 192.168.0.8
#报文分段,mtu必须是8的倍数

nmap -sI www.0day.com:80 192.168.0.8
#源IP欺骗

nmap --source-port 53 192.168.0.8
#源端口欺骗
#防火墙对服务器的设置会根据端口选择是否信任数据流
#管理员可能会认为这些端口不会有攻击发生,所以可以利用这些端口扫描

nmap --data-length 30 192.168.0.8
#在原来报文基础上,附加随机数据,达到规避防火墙的效果

nmap --spoof-mac 0 192.168.0.8
#指定一个随机的MAC地址
在Kali Linux的命令行中,可以直接使用nmap命令进行扫描操作。首先,打开一个终端窗口,然后输入nmap命令并按下回车键。这将显示nmap的版本信息,以证明nmap已经可用。 除了在命令行中直接使用nmap命令外,还可以利用Kali Linux中Metasploit Framework(msf)内置的nmap模块进行扫描操作。使用msf内的nmap命令可以通过指定-sI参数对目标进行扫描。具体命令格式如下: nmap -PN -sI 傀儡机IP 目标IP 此外,nmap还有其他一些常用的扫描参数。例如,可以使用以下命令进行不同类型的扫描: - 使用Fin扫描:nmap 127.0.0.1 -p 80 -sF - 使用Null扫描(所有flags都为0的TCP包):nmap 127.0.0.1 -p 80 -sN - 使用Xmas扫描(flags的FIN、URG、PUSH都为1的包):nmap 127.0.0.1 -p 80 -sX 这些是一些常用的Kali Linux中nmap使用教程和命令示例。通过这些命令和参数,你可以对目标进行扫描并获取相关信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nmap使用教程图文教程(超详细)](https://blog.csdn.net/m0_60571990/article/details/128057684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [nmap在kali的使用方法和常见命令(入门)](https://blog.csdn.net/Gjqhs/article/details/121957155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值