hacker之眼Nmap的原理及用法(四)剑走偏锋的扫描方法UDP Ping

另外一个主机发现的选项是UDP ping,也就是向指定的端口发送UDP数据包。端口列表的格式与前面讨论的-PS和-PA选项相同。若是未指定端口,则默认值为40125。该默认值能够在编译时修改,只要修改nmap.h文件中的DEFAULT_UDP_PROBE_PORT_SPEC的值便可。默认状况下使用高度不常见的端口,由于对于这种特定的扫描类型,一般不但愿数据包被发送到打开的端口。
对于大多数端口,该数据包将为空,尽管对于一些常见端口(如53和161),将发送协议特定的有效负载,该负载更有可能得到响应。- -data-length选项为全部端口发送固定长度的随机有效负载。
命中目标计算机上的关闭端口后,UDP探针会引发主机返回一个ICMP端口不可达的数据包。这向Nmap表示机器已启动而且可用。许多其余类型的ICMP报错,例如主机/网络没法访问或TTL超过,都代表主机已关闭或没法访问,缺少回应也能够这样解释。若是达到了开放端口,则大多数服务只会忽略空数据包,而不会返回任何响应。这就是为何默认端口设置为40125的缘由,它看起来最不可能被使用。极少数一些服务会对空UDP数据包进行回应,例如:Character Generator protocol,这样Nmap更容易知道这些机器是在线的。对于具备负载的端口,自定义有效负载使探针更有可能得到响应。
这种扫描类型的主要优势是它能够绕过那些过滤TCP数据包的防火墙。例如:我曾经有一个BEFW11S无线宽带路由器。它的外部接口默认过滤全部TCP端口,可是使用UDP探针仍是能从端口引起不可达信息,所以这就绕过了设备默认的防御机制。
相关文章
相关标签/搜索