Nmap
Nmap是一个免费的开源用于网络发现和安全审计的实用程序。它甚至出现在12部电影中,包括 The Matrix Reloaded,Die Hard 4等还有之前国内比较火的《亲爱的xxx》,最厉害的就是nmap localhost了,最高境界就是扫自己让别人无路可扫hhh。
Nmap的四大功能
- 主机发现
- 端口扫描
- 版本侦测
- 操作系统探测
主机发现
列表扫描
- namp -sL
- 列表扫描是主机发现的简并形式,它简单地列出指定的每个网络主机,而不向目标主机发送任何数据包。
Ping扫描
nmap -sn -v ip (同-sP)
- Nmap在主机发现后不进行端口扫描,只显示出响应主机发现探测的可用主机。这通常称为“ ping扫描 ”优点是不会返回太多的信息造成对结果的分析,并且这是一种非常高效的扫描方式。
- 探测内网ip
-nmap -sn 在扫描内网ip的时候会发送arp请求包探测目标ip是否在线,如果有arp回复包,则说明在线。此命令可以探测目标主机是否在线,如果在线,还可以得到其MAC地址。
- 探测公网ip
- nmap -sn 在扫描公网ip时会发送四种不同类型的数据包来探测目标主机是否在线。
1 ICMP echo request
2 a TCP SYN packet to port 443(https)
3 a TCP ACK packet to port 80(http)
4 an ICMP timestamp request
无Ping扫描
nmap -Pn- v ip (同 -P0 -PN)
- 常用于防火墙禁止ping的情况下,使用-P0 禁止主机发现会使Nmap对每一个指定的目标Ip进行所要求的扫描,这可以穿透防火墙,也可以避免被防火墙发现。
TCP SYN Ping
nmap -PS -v ip
- 发送一个设置了SYN标志的空TCP数据包。默认目标的端口80 (也可以通过改变nmap.h)文件中的DeFault-TCP-PROBE-PORT值进行设置,也可以 通过”–PS22和 -PS22-25,80,113,1050,35000 “进行设定,每个端口被并发的扫描。
- 通常情况下,nmap默认使用TCP ACK 和ICMP Echo请求对目标进行是否存活的响应,当目标主机的防火墙组织这些请求时,可以使用 TCP SYN Ping扫描对目标主机是否存活进行判断。
- nmap是通过SYN/ACK和RST响应来对目标主机是否存活进行判断,但在特定的情况下防火墙会丢弃RST包,这种情况下扫描的结果会不准确,这时需要指定一个端口或者端口范围来避免这种情况。
TCP ACK Ping
nmap -PA -v ip
- 进行TCP ACK Ping扫描,与SYN ping非常相似,差异在于设置了TCP ACK标志而不是SYN标志。这种探测方式可以探测阻止SYN包或者ICMP Echo请求的主机。
UPD Ping
nmap -PU -v ip
- UDP ping它将UDP数据包发送到给定端口,对于大多数端口,数据包将为空,但有些使用特定于协议的有效负载,更有可能引发响应。如果未指定端口,则默认值为40125。 默认情况下使用非常罕见的端口,因为对于此特定扫描类型,通常不希望发送到开放端口。
Icmp Ping
- nmap -PE
通过向目标发送ICMP Echo数据包来探测目标主机是否存活