kali中nmap的使用

nmap -h 可查看所有的参数,推荐使用这个来查看。

一,探测主机是否存活

扫描ip地址:
在这里插入图片描述
wireshark流量抓包:
在这里插入图片描述

1.1 发送udp包探测

原理:通过ICMP不可达判断主机是否开放(结果不是太准确可尝试多试几次)
栗子:

nmap 192.168.0.1-254 -PU -sn
判断 c 类 ip 的 1到254 的主机,-PU 是发送UDP 包,-sn 是探测主机

在这里插入图片描述

1.2 发送ack包探测

栗子:

nmap 192.168.0.1-254 -PA -sn
判断 c 类 ip 的 1到254 的主机,-PA 是发送ack 包,-sn 是探测主机

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二,探测一台主机上的端口

2.1 探测UDP端口开放情况

扫描一台主机上的端口
栗子:

nmap -sU 192.168.0.103
默认进行端口扫描,时间较长途中可按回车查看进度及剩余时间

nmap -sU 192.168.0.108 -p1-65535
nmap -sU 192.168.0.108 -p1-
进行全端口扫描

在这里插入图片描述

指定端口进行扫描
栗子:

nmap -sU 192.168.0.106 -p122
nmap -sU 192.168.0.106 -p122,146

在这里插入图片描述

2.2 探测TCP端口开放情况

在这里插入图片描述

在这里插入图片描述

  • 确认 ACK :当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。

  • 同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。

  • RST : 重建连接标识。当RST=1时,表明TCP连接中出现严重错误(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立连接,发送RST包关闭连接时,直接丢弃缓冲区的包发送RST包(这个和发FIN包不同)。而接收端收到RST包后,也不必发送ACK包来确认。

2.2.1隐蔽扫描

介绍:应用日志不会记录 流量日志会记录
原理:nmap默认使用SYN 扫描,收到SYN/ACK响应后意味着端口开放,收到RST包意味着端口关闭。

-sS 基于SYN包扫描
-sA 基于ACK包扫描

RST包,是TCP异常终止时,为了关闭连接,避免一直占用资源,所发送的报文。其标志可在tcp包首部中看到

栗子:

nmap 192.168.0.100
nmap 192.168.0.108 -sS
(s:扫描,S:SYN)

在这里插入图片描述
下面是对445端口请求和响应的完整过程。

在这里插入图片描述

多个端口进行扫描:

扫描多个端口的开发情况
nmap -sS 目标地址 -p80,135,136 --open
(-sS可加可不加)

在这里插入图片描述

IP字典扫描
命令:nmap -iL ‘字典路径’ -p80,135,136 --open (z字典可直接拖入)

首先在desktop中创建a.txt文件,内容如下
在这里插入图片描述

在这里插入图片描述

2.2.2 全连接扫描

-sT 是基于三次握手扫描,所以扫描时间会比较慢。
命令:nmap -sT 192.168.0.108 -p-

nmap -sT 192.168.0.106 -p- 

在这里插入图片描述

2.2.3僵尸扫描

僵尸机:

构成僵尸机的条件
1. 是空闲主机,很少发送和结束数据包
2. PID必须是递增的,0和随机都不行现在大部分主流操作系统的IPID都是随机产生的,但是早期的Windows XP系统(如Windows 2000、Windows 2003)都是递增的IPID。

发现僵尸机:

命令: nmap -p445 192.168.0.108 --script=ipidseq.nse

在这里插入图片描述
没有找到僵尸机,

使用僵尸机扫描目标主机

如:目标主机ip: 192.168.0.110   僵尸机ip: 192.168.0.108
命令: nmap 192.168.0.110 -sI 192.168.0.108 -p1-1000
-sI 使用僵尸机扫描   -p1-1000 扫描目标主机1-1000的端口	

三nmap服务扫描

3.1 banner

命令: nmap -sT 192.168.0.98 -p22 --script=banner.nse
-sT:全连接扫描
-p22: 指定端口号22
--script=banner.nse :指定banner.nse插件

在这里插入图片描述

3.2服务版本检测

命令:nmap 192.168.0.106 -p -sV
-sV进行版本检查
-p- 全端口扫描

在这里插入图片描述

3.3操作系统版本检测

命令:nmap -O 192.168.0.106
-O 扫描主机操作系统版本

在这里插入图片描述
在这里插入图片描述

3.4 识别目标操作系统

原理:smb协议,文件共享协议 默认开放 一般端口使用为139,445,
通过smb发现主机操作系统

命令:nmap 192.168.159.131 -p139,445 --script=smb-os-discovery.nse
-p139,445指定端口  

扫描目标主机的端口:
在这里插入图片描述
识别目标操作系统:
在这里插入图片描述

-iL: 后加主机ip字典 批量扫描
-iR:选择随机目标主机进行扫描(如 -iR 100 扫描全网随机100个主机)
--exclude:白名单 指定不想扫的主机地址
--excludefile: 后加字典 批量指定白名单中的主机
-sL:列出目标 不进行主机发现
-sn:只ping主机 不扫端口
-Pn:扫描前不需要ping命令若防火墙禁止使用ping,可用此扫描
-PO:使用ip协议进行扫描
--dns-servers: 指定nmap的DNS服务器进行解析
--system-dns:指定系统DNS服务器
--traceroute:路由追踪
-sS:发送SYN包扫描目标主机
-sT:全连接扫描,基于三次握手扫描
-sA:ACK扫描 (可判断有无防火墙)
-sU:发送UDP包探测目标主机
-sI:僵尸扫描
--top-ports <number> :扫描开放概率最高的number个端口
--port-ratio <ratio> :扫描指定频率以上的端口  <radio>为频率
-sV: 进行版本探测
--version-intensity <level>: 指定版本侦测强度(0-9)
-O : 进行系统版本扫描
-T<0-5>:设置定时模板(越高越快)一般用4
--host-timeout <time>: 设置主机超时时间
--scan-delay/--max-scan-delay <time>: 调整扫描之间的延迟
--min-rate <number>: 发送数据包每秒不少于 
--max-rate <number>:发送数据包每秒不多于

-D <decoy1,decoy2[,ME],...>:用诱饵掩盖扫描
-S <IP_Address>: 伪造源地址 
-e 指定网卡
--data <hex string>:将自定义负载附加到已发送的数据包(十六进制)
--spoof-mac <mac address/prefix/vendor name>: mac地址/常量/供应商名称>:欺骗您的mac地址 

--open: 仅显示打开(或可能打开)的端口
-v:增加详细等级(使用-vv或更多预期更多的效果)
-V:打印版本号

在这里插入图片描述

在kali中的/usr/share/nmap/scripts 中有nmap内置脚本

  • 2
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值