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探針仍是能從端口引起不可達信息,所以這就繞過了設備默認的防禦機制。
相關文章
相關標籤/搜索