ping不通 遇事不决就加 -Pn
| 扫描类型 | 命令示例 |
|---|---|
| ARP扫描 | sudo nmap -PR -sn MACHINE_IP/24 |
| ICMP 回波扫描 | sudo nmap -PE -sn MACHINE_IP/24 |
| ICMP 时间戳扫描 | sudo nmap -PP -sn MACHINE_IP/24 |
| ICMP 地址掩码扫描 | sudo nmap -PM -sn MACHINE_IP/24 |
| TCP SYN Ping 扫描 | sudo nmap -PS22,80,443 -sn MACHINE_IP/30 |
| TCP ACK Ping 扫描 | sudo nmap -PA22,80,443 -sn MACHINE_IP/30 |
| UDP Ping 扫描 | sudo nmap -PU53,161,162 -sn MACHINE_IP/30 |
-sn如果您只对主机发现感兴趣而无需端口扫描,请记住添加。省略 -sn将使Nmap默认对活动主机进行端口扫描。
| 选项 | 目的 |
|---|---|
-n | 没有DNS查找 |
-R | 所有主机的反向 DNS 查找 |
-sn | 仅主机发现 |
准备要扫描的txt,输入:
nmap -iL list_of_hosts.txt
Nmap 只执行 ARP 扫描而不进行端口扫描,您可以使用nmap -PR -sn 目标,其中 -PR表示您只需要进行实时的ARP扫描,不需要扫描端口
尽管ping很常用,但许多防火墙会阻止 ICMP ping 回显;新版本的 MS Windows 配置了主机防火墙,默认情况下会阻止 ICMP 回显请求。请记住,如果您的目标位于同一子网上,则 ARP 查询将先于 ICMP 请求。
由于 ICMP 回显请求往往会被阻止,因此您还可以考虑使用 ICMP 时间戳或 ICMP 地址掩码请求来判断系统是否在线。Nmap 使用时间戳请求(ICMP 类型 13)并检查是否会得到时间戳回复(ICMP 类型 14)。添加该-PP选项告诉Nmap使用 ICMP 时间戳请求
只通过icmp ping 探活但不进行端口扫描:sudo nmap -PE -sn MACHINE_IP/24
使用 ICMP 地址掩码查询发现活动主机,我们运行命令 nmap -PM -sn MACHINE_IP/24
| 端口扫描类型 | 命令示例 |
|---|---|
| TCP连接扫描 | nmap -sT 10.10.147.253 |
| TCP SYN 扫描 | sudo nmap -sS 10.10.147.253 |
| UDP扫描 | sudo nmap -sU 10.10.147.253 |
这些扫描类型应该可以帮助您开始发现目标主机上正在运行的TCP和 UDP 服务。
| 选项 | 目的 |
|---|---|
-p- | 所有端口 |
-p1-1023 | 扫描端口1至1023 |
-F | 100 个最常用端口 |
-r | 按连续顺序扫描端口 |
-T<0-5> | -T0最慢,T5最快 |
--max-rate 50 | 速率 <= 50 数据包/秒 |
--min-rate 15 | 速率 >= 15 数据包/秒 |
--min-parallelism 100 | 至少 100 个并行探头 |
UDP 数据包发送到关闭的端口,则会返回 ICMP 端口不可达错误(类型 3,代码 3)。您可以使用该选项选择 UDP 扫描 -sU;此外,您可以将其与另一个 TCP 扫描结合起来.没响应说明可达
| 端口扫描类型 | 命令示例 |
|---|---|
| TCP空扫描 | sudo nmap -sN MACHINE_IP |
| TCP FIN 扫描 | sudo nmap -sF MACHINE_IP |
| TCP圣诞扫描 | sudo nmap -sX MACHINE_IP |
| TCP迈蒙扫描 | sudo nmap -sM MACHINE_IP |
| TCP ACK 扫描 | sudo nmap -sA MACHINE_IP |
| TCP窗口扫描 | sudo nmap -sW MACHINE_IP |
| 自定义TCP扫描 | sudo nmap --scanflags URGACKPSHRSTSYNFIN MACHINE_IP |
| 欺骗源IP | sudo nmap -S SPOOFED_IP MACHINE_IP |
| 欺骗的MAC地址 | --spoof-mac SPOOFED_MAC |
| 诱饵扫描 | nmap -D DECOY_IP,ME MACHINE_IP |
| 空闲(僵尸)扫描 | sudo nmap -sI ZOMBIE_IP MACHINE_IP |
| 将IP数据分片成8个字节 | -f |
| 将IP数据分片成16字节 | -ff |
| 选项 | 目的 |
|---|---|
--source-port PORT_NUM | 指定源端口号 |
--data-length NUM | 附加随机数据以达到给定长度 |
这些扫描类型依赖于以意想不到的方式设置TCP标志来提示端口进行回复。Null、FIN 和 Xmas 扫描会引发来自关闭端口的响应,而 Maimon、ACK 和 Window 扫描会引发来自开放和关闭端口的响应。
| 选项 | 目的 |
|---|---|
--reason | 解释Nmap如何得出结论 |
-v | 冗长的 |
-vv | 非常详细 |
-d | 调试 |
-dd | 更多调试细节 |
| 选项 | 意义 |
|---|---|
-sV | 确定开放端口上的服务/版本信息 |
-sV --version-light | 尝试最有可能的探针 (2) |
-sV --version-all | 尝试所有可用的探针 (9) |
-O | 检测操作系统 |
--traceroute | 运行traceroute到目标 |
--script=SCRIPTS | 要运行的Nmap脚本 |
-sC或者--script=default | 运行默认脚本 |
-A | 相当于-sV -O -sC --traceroute |
-oN | 以正常格式保存输出 |
-oG | 以 grepable 格式保存输出 |
-oX | 以XML格式保存输出 |
-oA | 以普通、XML和 Grepable 格式保存输出 |
爆破密码
hydra -l username -P wordlist.txt server service
比如爆破lazie的iamp的密码:
hydra -l lazie -P /usr/share/wordlists/rockyou.txt 10.10.80.177 imap
-l username:-l应位于 之前username,即目标的登录名。-P wordlist.txt:在文件-P之前wordlist.txt,该文件是一个文本文件,其中包含您要使用提供的用户名尝试的密码列表。server是目标服务器的主机名或 IP 地址。service指示您尝试发起字典攻击的服务。
考虑以下具体示例:
hydra -l mark -P /usr/share/wordlists/rockyou.txt 10.10.80.177 ftp将在针对FTPmark服务器迭代提供的密码时用作用户名。hydra -l mark -P /usr/share/wordlists/rockyou.txt ftp://10.10.80.177与前面的示例相同。10.10.80.177 ftp与 相同ftp://10.10.80.177。hydra -l frank -P /usr/share/wordlists/rockyou.txt 10.10.80.177 ssh当它尝试使用不同的密码通过SSH登录时,将用frank作用户名
爆破ftp:
hydra -l quinn -P /usr/share/wordlists/rockyou.txt ftp://10.10.110.233:10021
