文章目录
nc可以快速检测某个端口是否开发,nmap可以全面扫描目标所有开放端口和相对服务
一、nc与nmap扫描组合
1、nc快速判断目标端口是否开放(如果很慢说明对方开启了防火墙禁止nc扫描)
nc -zv -w 1 192.168.1.100 80
2、nmap直接扫描目标开放哪些端口(基本够用,按上下键能看到扫描进度)
nmap -Pn 192.168.1.107 # 默认只扫描1000个常用端口
sudo nmap -Pn -sSV -O --randomize-hosts 192.168.1.106 -p 1-65535 # 较快且隐蔽
--------------------------------------------
-Pn : 不发送icmp扫描
-sSV: 半YNC扫描不建立三次握手 ,V表示展示服务版本信息
--randomize-hosts: 打乱扫描端口顺序
-O : 查看目标服务器系统
3、nmap对已开放端口进行深度分析
nmap -sV -A -p 80 192.168.1.100
4、namp根据端口扫描结果进行基本漏洞扫描,比如扫描到(CVE-2011-1002 is vulnerable)可以用metasploit攻击
sudo nmap -Pn -sS --script=vuln 192.168.1.107
nmap --script "ssh* and vuln" -p 22 <目标IP> # 也可以只针对某一个服务进行漏洞扫描
具体的漏洞扫描模块可以查看ls /opt/homebrew/Cellar/nmap/7.95_1/share/nmap/scripts
5、识别waf
nmap -p 80,443 --script=http-waf-fingerprint 192.168.1.107
nmap -p 80,443 --script=http-waf-detect 192.168.1.106
二、nmap破解密码
- nmap有很多自带的模块可以实现除端口扫描以外的密码破解、漏洞扫描等功能
(1) 破解ssh密码(用户名和密码必须指定文件)
# nmap --script ssh-brute --script-args userdb=username.txt,passdb=password.txt 192.168.1.107
# nmap --script-help=ssh-brute 查看帮助
(2) 破解mysql(效果不理想)
nmap --script mysql-brute --script-args userdb=username.txt,passdb=password.txt 192.168.1.107
三、nmap详细用法
1、主机发现
1. 全面扫描/综合扫描
nmap -A 192.168.100.100
2. Ping扫描
nmap -sP 192.168.1.1/24
3. 免Ping扫描,穿透防火墙,避免被防火墙发现
nmap -P0 192.168.100.100
4. TCP SYN Ping 扫描
nmap -PS -v 192.168.100.100
nmap -PS80,10-100 -v 192.168.100.100 (针对防火墙丢弃RST包)
5. TCP ACK Ping 扫描
nmap -PA -v 192.168.100.100
6. UDP Ping 扫描
nmap -PU -v 192.168.100.100
7. ICMP Ping Types 扫描
nmap -PU -v 192.168.100.100 (ICMP ECHO)
nmap -PP -v 192.168.100.100 (ICMP 时间戳)
nmap -PM -v 192.168.100.100 (ICMP 地址掩码)
8. ARP Ping 扫描
nmap -PR -v 192.168.100.100
9. 列表 扫描
nmap -sL -v 192.168.100.100
10. 禁止方向域名解析
nmap -n -sL -v 192.168.100.100
11. 方向域名解析
nmap -R -sL -v 192.168.100.100
12. 使用系统域名解析系统
nmap --system-dns 192.168.1.2 192.168.100.100
13. 扫描IPV6地址
nmap -6 IPv6
14. 路由跟踪
nmap --traceroute -v www.example.com