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