信息收集之nmap(常用参数详解以及高级扫描)

您所在的位置:网站首页 ipadair3参数详细参数 信息收集之nmap(常用参数详解以及高级扫描)

信息收集之nmap(常用参数详解以及高级扫描)

2024-06-22 11:43| 来源: 网络整理| 查看: 265

0x00前言

       nmap是一款开源的网络探测和安全审核工具,它的功能非常强大,可以扫描单个主机或者一个网络,从而发现存活的主机、主机上的端口开放情况、端口运行的服务以及操作系统版本等信息。但相对来说,要记忆使用的参数也是较多的~

0x01常用参数详解(注意区分大小写) 一、目标指定

-iL 指定一个文本文件,这个文件每一行应写一个IP地址或者一个网络

//ip.txt 192.168.1.1 192.168.2.0/24 nmap -iL ip.txt

-iR 指定主机数量,随机扫描相应数量的主机

nmap -iR 5 192.168.1.0/24

–exclude 指定一个或多个IP,不扫描这些IP

nmap 192.168.1.0/24 --exclude 192.168.1.1,192.168.1.2,192.168.1.3

–excludefile 指定一个文本文件,不扫描文件里的IP

//exclude-ip.txt 192.168.1.1 192.168.1.2 nmap 192.168.1.0/24 --excludefile exclude-ip.txt 二、主机发现

-sL 简单列出扫描的目标

nmap -sL 192.168.1.0/24 //会把扫描的IP一个一个列出来

-sP/-sn 做ping扫描,网上说-sn参数在目标禁止回显ICMP的情况下也能扫描到,我用nmap 7.80版本实测,两个参数在目标禁ping情况下都能扫到,可能升级了吧吼吼~

nmap -sP/-sn 192.168.1.0/24

-Pn/-P0 对于在线的主机,不要再次进行主机发现扫描,直接扫描其他信息

nmap -Pn/-P0 192.168.1.1

-PS/-PA/-PU/-PY 分别是SYN扫描、ACK扫描、UDP扫描、SCTP扫描(这是传输层的一种协议,有意思的是,建立连接4次握手,断开需要3次握手,有兴趣可以了解一下~),也可指定端口

nmap -PS/-PA/-PU/-PY 192.168.1.1

-PE/-PP/-PM 分别是ICMP回显、时间戳、网络掩码发现扫描

nmap -PE/-PP/-PM 192.168.1.1

-n/-R 永不对IP地址进行反向域名解析/永远对IP地址进行反向域名解析

nmap -n/-R 192.168.1.1

–dns-servers 指定dns服务器

nmap -R 192.168.1.1 --dns-servers 114.114.114.114,8.8.8.8

–system-dns 使用系统的dns

nmap -R 192.168.1.1 --system-dns 三、端口扫描技术

在端口扫描之前,我们先看一个关于端口状态的信息~

端口状态描述open目标机器上的应用程序已监听此端口closed端口未开放filtered端口被防火墙等设备过滤,报文无法到达目标端口unfiltered端口能被访问,但无法判断是open还是closedopen/filtered无法判断端口是open或是filteredclosed/filtered无法判断端口是closed或是filtered

-sS/-sT/-sA/-sW/-sM 分别是SYN扫描,只发送SYN包;TCP全连接扫描,建立三次握手;ACK扫描,只发送ACK包;TCP窗口扫描,发送ACK包,判断窗口值;FIN/ACK扫描

nmap -sS/-sT/-sA/-sW/-sM 192.168.1.1

-sU UDP扫描

nmap -sU 192.168.1.1

-sN/-sF/-sX 分别是NULL扫描,不设置任何标志位,即tcp头为0;FIN扫描,只设置tcp FIN标志位;Xmas扫描,设置FIN、PSH、URG标志位

nmap -sN/-sF/-sX 192.168.1.1

–scanflags 自定应tcp头的标志位

nmap 192.168.1.1 --scanflags SYN

–sI 僵尸扫描,最为隐蔽,攻击机和目标机不进行交互

nmap 1.1.1.1 -sI 2.2.2.2:4444 //不指定端口默认为80

-b FTP弹跳扫描,可以通过连接发布的FTP服务当作跳板扫描内网,经常用来躲避防火墙

nmap 192.168.1.0/24 -b :@:

ps: 如果在没有nmap的Windows主机上怎么做一些端口扫描的简单的测试呢?可以使用telnet工具,example:telnet 192.168.1.1 80,如果对方端口没开放则提示连接失败,如果开放将跳到一个空的黑窗口~~

四、端口指定

-p 指定要扫描的端口,一般形式有以下几种:

-p 21,53,80,443,1433,1521,3306 -p 1-1024 -p U:53,111,137 T:21-25,80,8080 //当即扫描udp端口又扫描tcp端口可以这么指定 nmap -sU 192.168.1.1 -p U:53,111,137 T:21-25,80,8080 //既扫描 UDP又扫描TCP,必须指定 -sU ,以及至少一个TCP扫描类型 ps:不指定-p选项,默认扫描1-65535端口,但nmap默认跳过9100TCP端口,因为此端口为默认打印机服务端口,为避免有一些打印机直接将nmap请求打印出来~

-F 快速扫描 -r 不要按随即顺序扫描端口,nmap出于效率的考虑,会把常用的端口先扫描

五、服务版本探测

-sV 探测开放端口运行的服务以及版本

nmap -sV 192.168.1.1 ps:-A参数可以同时识别服务版本和操作系统版本 六、操作系统识别

-O 进行操作系统的识别

nmap -O 192.168.1.1 ps:-A参数可以同时识别服务版本和操作系统版本 七、绕过防火墙/IDS

-f 报文分段发送,通过修改IP包头的分段标志位实现 –mtu 指定mtu的大小,mtu:最大传输单元,在网络层封装完毕后,整个数据包的大小,默认为1500,超过1500对端可能不会接收~ -S 指定IP地址,源地址欺骗 -e 指定接口,如eth0 –source-port 指定源端口,源端口欺骗 –spoof-mac 指定MAC地址,MAC地址欺骗 –ttl 指定ttl值,自定义ttl值

八、常用脚本使用

nmap扫描指定脚本一般用 --script 参数~ http-enum 脚本可以扫描端口信息的同时对web站点进行针对性收集,例如cms和目录文件的爆破等

nmap test.com --script http-enum

http-auth-finder 指定该脚本可以在web站点上尝试寻找登录认证页面

nmap test.com -p 80 --script http-auth-finder

nmap的强大之处还在于能对一些服务进行爆破~ mysql爆破

nmap --script=mysql-brute 192.168.1.1 //使用默认字典

SMTP爆破

nmap -p25 --script smtp-brute 192.168.1.1

SMB爆破

nmap -p445 --script smb-brute.nse –script-args userdb=./user.txt,passdb=./pass.txt 192.168.1.1 //指定用户名和密码字典

FTP爆破

nmap -p21 --script ftp-brute.nse --script-args userdb=./user.txt,passdb=./pass.txt 192.168.1.1

还可以对一些常规漏洞进行扫描

nmap --script=smb-vuln-ms06-025 192.168.1.1 //扫描是否存在ms06-025这个漏洞 nmap --script=vuln 192.168.1.1 //扫描所有开放的端口上的服务有没有漏洞,也可指定端口 ls /usr/share/nmap/scripts/ //可以查看脚本,更多脚本自己发发掘~ 九、扫描结果输出

-oN 标准输出,写入指定文件,格式和终端显示一致

nmap -A 192.168.1.1 -oN scan.txt

-oX XML格式输出,便于处理文档

nmap -A 192.168.1.1 -oX scan.xml

-oA 指定一个目录,输出所有格式

nmap -A 192.168.1.1 -oA /root/scan/ 0x02结语

       以上就是nmap的一些常用命令的使用,以及对命令原理的简单概括,我这里收藏了nmap的中文手册:http://www.nmap.com.cn/doc/manual.shtm#11 ,里面写了非常完整的选项和工作原理,感兴趣可以翻看一下~ 谨此记之,以便日后查阅~~ The end~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3