Kali Linux 渗透测试:nmap工具使用方法详解(16)

在前面内容中,几乎每一篇都有介绍Nmap,这里系统地介绍下Nmap每个参数:

 

注意:区分每个参数的大小写

 

-iL:列好的IP放在一个文本里面,可以直接扫描这个文本

用法:namp -iL <文本名>

 

-iR:随机扫指定数目的IP

用法:nmap -iR <IP数量>

示例:我现在随机扫描50个IP的80端口,把其中是open的显示出来

root@kali:~# nmap -iR 50 -p80 --open

nmap随机扫描IP端口

显然,随机的这50个IP没有开放80端口的或者开了防火墙。

 

--exclude:指定不扫描的IP

用法:nmap <IP> --exclude <IP/IPs>

示例:我现在要扫描192.168.163这一网段,但我不想扫描192.168.163.1-100:

root@kali:~# nmap 192.168.163.0/24 --exclude 192.168.163.1-100

nmap扫描

 

--excludefile:类似上一条,不过把不扫描的IP放在一个文本文件中

用法:类似上一条

 

一、Nmap 主机发现系列

-sL:并不扫描,只是把要扫描的IP列出来

用法:nmap <IP> -sL

示例:

root@kali:~# nmap 192.168.163.0/26 -sL

nmap扫描

 

-sn:扫描目标,但不扫描端口

用法:nmap <IP> -sn

 

-Pn:有时候目标开启防火墙,无法收到回包,Nmap会不再扫描该目标,但是我向彻底扫描这个目标,需要这个参数

用法:nmap <IP> -Pn

 

-PS/-PA/-PU/-PY:使用相对应的协议扫描发现:PS:TCP[SYN]、PA:TCP[ACK]、PU:UDP、PY:SCTP

用法:nmap <IP> -PS/-PA/-PU/-PY

 

以下内容,如果可以直接加的参数,不在写用法(比如-Pn和-sn)

 

-PE:使用ICMP的echo

 

-PP:使用时间戳

 

-PM:查子网掩码(通常扫不到结果)

 

-PO:使用IP协议

 

-n:不做DNS解析

 

-R:反向DNS解析

 

--dns-servers:扫描的时候不使用本地配置的DNS服务器而使用指定的

示例:使用美国的DNS服务器扫描新浪

root@kali:~# nmap --dns-servers 8.8.8.8 www.sina.com

nmap --dns-servers

 

--traceroute:路由追踪(类似Kali的traceroute命令)

 

二、Nmap 端口扫描系列

 

-sS:使用TCP【SYN】扫描

 

-sT:使用TCP扫描:建立完整的三次握手

 

-sA:使用TCP【ACK】扫描

 

-sW:TCP:window扫描(没用过)

 

-sM:TCP:maimon扫描(没用过)ACK+FIN(17)

 

-sU:使用UDP扫描(事实证明没有TCP协议准确)

 

-sN:使用TCP空FLAG扫描

 

-sF:TCP:FIN扫描

 

-sX:xMas扫描(没用过,使用罕见的TCP的FLAG的组合)

 

--scanflags:自定义FLAG扫描(高手才可以用:需要熟练了解协议,针对不同情况使用)

 

-sI:僵尸扫描

 

-sY/-sZ:SCTP相关的扫描

 

-sO:IP协议扫描

 

-b:FTP中继扫描

 

-p:指定扫描端口,这个很简单的,详情方法就不说了

不过可以有多种写法:

root@kali:~# nmap -p80
root@kali:~# nmap -p1-100
root@kali:~# nmap -p80,445,22,3306

 

-F:快速扫描(扫描常见的少量端口)

 

-r:按顺序扫描端口(Nmap默认随意扫描指定范围的端口)

 

--top-ports:扫描指定数量的端口

示例:只扫描常见一千端口中的前十个

root@kali:~# nmap 192.168.163.129 --top-ports 10

nmap --top-ports:扫描指定数量的端口

 

-sV:已经扫描到端口之后,探测服务

 

--version-intensity:配合sV参数,探测服务程度(1-9表示程度深浅)

示例:我要非常详细地扫描某IP的服务

root@kali:~# nmap 192.168.163.129 -sV --version-intensity 9

nmap --version-intensity:配合sV参数,探测服务程度

这里可以看出,的确是非常的详细。

 

--version-trace:显示更多的过程

 

脚本扫描:脚本在/usr/share/nmap/scripts里面

-sC=:和--scrip=t参数一样

--script-args=:脚本参数

具体nmap脚本有哪些?可以参考nmap脚本使用教程

 

--script-updatedb:更新nmap的脚本(没有扫描作用)

 

--script-help:脚本帮助

 

-O:检测操作系统

 

-f:设置最大传输单元

 

-D:伪造源地址(需要一些混淆IP)

示例:我设置了三个虚假的IP,用来掩护我的IP来进行扫描

root@kali:~# nmap -D 192.168.1.1,192.168.1.2,192.168.1.3 10.14.4.252

可以抓包发现确实存在伪造源地址:抓包

 

-S:欺骗源地址

示例:

root@kali:~# nmap -S 192.168.1.1 -e eth0 10.14.4.252

 

这里还用了-e参数:指定网卡

缺陷:收不到回包

 

-g:使用源端口发送

示例:我指定所有发出的包都是8888端口:

root@kali:~# nmap -g8888 10.14.4.252

 

--proxies:代理(不推荐)

如果要代理的话,建议用proxychains方便使用,可以参考:Kali Linux中ProxyChains使用教程

 

--data=:给扫描包加上数据

 

--data-string=/--data-length:类似上边

 

--spoof-mac:欺骗mac地址:

示例:

root@kali:~# nmap 10.14.4.252 --spoof-mac 00:11:11:11:11:11

 

 

--badsum:故意发送错误的checksum(有时可以欺骗防火墙)

 

总结:

关于nmap其它的参数就没什么好说的了,都是一些杂项用不着的。

头像
  • ¥ 29.99元
  • 市场价:888元
  • ¥ 499.0元
  • 市场价:499.0元
  • ¥ 6.8元
  • 市场价:8.8元
  • ¥ 199.0元
  • 市场价:399.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: