--dns-servers : 指定DNS服务器
--system-dns : 指定使用系统的DNS服务器
--traceroute : 追踪每个路由节点
--scanflags <flags>: 定制TCP包的flags
--top-ports <number> :扫描开放概率最高的number个端口
--port-ratio <ratio>: 扫描指定频率以上的端口 。与上述--top-ports类似,这里以概率作为参数
--version-trace: 显示出详细的版本侦测过程信息
--osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)
--osscan-guess: 大胆猜测对方的主机的系统类型 。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统
--data-length <num>: 填充随机数据让数据包长度达到 Num
--ip-options <options>: 使用指定的 IP 选项来发送数据包
--spoof-mac <mac address/prefix/vendor name> : 伪装 MAC 地址
--version-intensity <level>: 指定版本侦测强度(0-9),默认为7 。数值越高,探测出的服务越准确,但是运行时间会比较长 。
--version-light: 指定使用轻量侦测方式 (intensity 2)
--version-all: 尝试使用所有的probes进行侦测 (intensity 9)
--version-trace: 显示出详细的版本侦测过程信息
一:探索目标主机是否在线
主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的 。Nmap支持十多种不同的主机探测方式,用户可以在不同的条件下灵活选用不同的方式来探测目标机 。主机发现常用参数如下 。
-sn: Ping Scan 只进行主机发现,不进行端口扫描 。
-PE/PP/PM: 使用ICMP echo、 ICMP timestamp、ICMP netmask 请求包发现主机 。
-PS/PA/PU/PY[portlist]: 使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现 。
-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现 。
-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程 。
-PO[protocollist]: 使用IP协议包探测对方主机是否开启 。
-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析 。
--dns-servers <serv1[,serv2],...>: 指定DNS服务器 。
--system-dns: 指定使用系统的DNS服务器
--traceroute: 追踪每个路由节点
当探测公网 ip时
nmap -sn
Nmap会发送四种不同类型的数据包来探测目标主机是否在线 。
ICMP echo request
a TCP SYN packet to port 443(https)
a TCP ACK packet to port 80(http)
an ICMP timestamp request
例: nmap -sn 133.133.100.30
依次发送四个报文探测目标机是否开启 。只要收到其中一个包的回复,那就证明目标机开启 。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误
通常主机发现并不单独使用,而只是作为端口扫描、版本侦测、OS侦测先行步骤 。而在某些特殊应用(例如确定大型局域网内活动主机的数量),可能会单独专门使用主机发现功能来完成 。
nmap -PE/-PP/-PM
-PE 的ICMP Echo扫描简单来说是通过向目标发送ICMP Echo数据包来探测目标主机是否存活,但由于许多主机的防火墙会禁止这些报文,所以仅仅ICMP扫描通常是不够的 。nmap -PE 133.133.100.30
-PP 的ICMP time stamp时间戳扫描在大多数防火墙配置不当时可能会得到回复,可以以此方式来判断目标主机是否存活 。倘若目标主机在线,该命令还会探测其开放的端口以及运行的服务! nmap nmap -PP 133.133.100.30
-PM 的ICMP address maskPing地址掩码扫描会试图用备选的ICMP等级Ping指定主机,通常有不错的穿透防火墙的效果 nmap -PM 133.133.100.30
-PS的TCP SYN扫描
当探测内网ip时
nmap -sn
使用 nmap -sn 内网ip 这个命令会发送arp请求包探测目标ip是否在线,如果有arp回复包,则说明在线 。此命令可以探测目标主机是否在线,如果在线,还可以得到其MAC地址 。但是不会探测其开放的端口号 。
nmap -PE/-PP/-PM
使用 nmap -PE/PP/PM 内网ip 探测主机的开启情况,使用的是ARP请求报文,如果有ARP回复报文,说明主机在线 。-PP/PE/PM命令探测到主机在线后,还会探测主机的端口的开启状态以及运行的服务,其探测端口状态原理在下一节中有介绍 。
探测该主机所在网段内所有主机的在线情况,使用的是 nmap -sn 网段/子网掩码。
例:nmap -sn 10.96.10.0/24 或 nmap -sn 10.96.10.100-200
探测10.96.10.0 这个网段内主机的在线情况,返回在线主机的ip和MAC地址
二:端口扫描及其原理
端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况 。
推荐阅读
- Linux下修改MySQL7.x打开最大文件数
- 天猫超级品牌日时间表2020 天猫超级品类日
- Linux Shell编程
- Linux中bash shell环境变量
- 金路云|金喜善给金路云取名为“半半”,超级可爱,共同踏上另类职场之路
- 一张图看懂Linux内核
- 酷冷至尊|2999元!酷冷至尊超级机箱HAF 700 EVO图赏:自带显示屏
- 如何升级 Linux Mint 19.1 为 Linux Mint 19.2
- Linux curl的常用案例使用
- linux解压zip文件8个实用案例
