nmap學習之時間和效能

2021-07-29 06:45:33 字數 4157 閱讀 4700

--min-hostgroup;--max-hostgroup(調整並行掃瞄組的大小)

nmap具有並行掃瞄多主機埠或版本的能力,nmap將多個目標ip位址 空間分成組,然後在同一時間對乙個組進行掃瞄。通常,大的組更有效。缺 點是只有當整個組掃瞄結束後才會提供主機的掃瞄結果。如果組的大小定義 為50,則只有當前50個主機掃瞄結束後才能得到報告(詳細模式中的補充資訊 除外)。

預設方式下,nmap採取折衷的方法。開始掃瞄時的組較小, 最小為5,這樣便於盡快產生結果;隨後增長組的大小,最大為1024。確切的 大小依賴於所給定的選項。為保證效率,針對udp或少量埠的tcp掃瞄,nmap 使用大的組。--max-hostgroup選項用於說明使用最大的組,nmap不 會超出這個大小。--min-hostgroup選項說明最小的組,nmap 會保持組大於這個值。如果在指定的介面上沒有足夠的目標主機來滿足所 指定的最小值,nmap可能會採用比所指定的值小的組。這兩個引數雖然很少使用, 但都用於保持組的大小在乙個指定的範圍之內。

這些選項的主要用途是說明乙個最小組的大小,使得整個掃瞄更加快速。通常 選擇256來掃瞄c類網段。對於埠數較多的掃瞄,超出該值沒有意義。對於 埠數較少的掃瞄,2048或更大的組大小是有幫助的。

--min-parallelism;--max-parallelism(調整探測報文的並行度)
這些選項控制用於主機組的探測報文數量,可用於埠掃瞄和主機發現。預設狀態下, nmap基於網路效能計算乙個理想的並行度,這個值經常改變。如果報文被丟棄, nmap降低速度,探測報文數量減少。隨著網路效能的改善,理想的探測報文數量會緩慢增加。 這些選項確定這個變數的大小範圍。預設狀態下,當網路不可靠時,理想的並行度值 可能為1,在好的條件下,可能會增長至幾百。

最常見的應用是--min-parallelism值大於1,以加快 效能不佳的主機或網路的掃瞄。這個選項具有風險,如果過高則影響準確度,同時 也會降低nmap基於網路條件動態控制並行度的能力。這個值設為10較為合適, 這個值的調整往往作為最後的手段。--max-parallelism選項通常設為1,以防止nmap在同一時間 向主機傳送多個探測報文,和選擇--scan-delay同時使用非常有用,雖然 這個選項本身的用途已經很好。

--min-rtt-timeout--max-rtt-timeout--initial-rtt-timeout(調整探測報文超時)
nmap使用乙個執行超時值來確定等待探測報文響應的時間,隨後會放棄或重新 傳送探測報文。nmap基於上乙個探測報文的響應時間來計算超時值,如果網路延遲比較顯著 和不定,這個超時值會增加幾秒。初始值的比較保守(高),而當nmap掃瞄無響應 的主機時,這個保守值會保持一段時間。

這些選項以毫秒為單位,採用小的--max-rtt-timeout值,使--initial-rtt-timeout值大於預設值可以明顯減少掃瞄時間,特別 是對不能ping通的掃瞄(-p0)以及具有嚴格過濾的網路。如果使用太 小的值,使得很多探測報文超時從而重新傳送,而此時可能響應訊息正在傳送,這使得整個掃瞄的時 間會增加。

如果所有的主機都在本地網路,對於--max-rtt-timeout值來 說,100毫秒比較合適。如果存在路由,首先使用icmp ping工具ping主機,或使用其 它報文工具如hpings,可以更好地穿透防火牆。檢視大約10個包的最大往返時間,然後將--initial-rtt-timeout設成這個時間的2倍,--max-rtt-timeout可設成這個時間值的3倍或4倍。通常,不管ping的時間是多少,最大的rtt值不得小於100ms, 不能超過1000ms。--min-rtt-timeout這個選項很少使用,當網路不可靠時, nmap的預設值也顯得過於強烈,這時這個選項可起作用。當網路看起來不可靠時,nmap僅將 超時時間降至最小值,這個情況是不正常的,需要向nmap-dev郵件列表報告bug。

--host-timeout(放棄低速目標主機)
由於效能較差或不可靠的網路硬體或軟體、頻寬限制、嚴格的防火牆等原因, 一些主機需要很長

的時間掃瞄。這些極少數的主機掃瞄往往佔 據了大部分的掃瞄時間。因此,最好的辦法是減少時間消耗並且忽略這些主機,使用--host-timeout選項來說明等待的時間(毫秒)。通常使用1800000 來保證nmap不會在單個主機上使用超過半小時的時間。需要注意的是,nmap在這半小時中可以 同時掃瞄其它主機,因此並不是完全放棄掃瞄。超時的主機被忽略,因此也沒有針對該主機的 埠表、作業系統檢測或版本檢測結果的輸出。

--scan-delay;--max-scan-delay(調整探測報文的時間間隔)
這個選項用於nmap控制針對乙個主機傳送探測報文的等待時間(毫秒),在頻寬 控制的情況下這個選項非常有效。solaris主機在響應udp掃瞄探測報文報文時,每秒 只傳送乙個icmp訊息,因此nmap傳送的很多數探測報文是浪費的。--scan-delay設為1000,使nmap低速執行。nmap嘗試檢測頻寬控制並相應地調整掃瞄的延遲,但 並不影響明確說明何種速度工作最佳。--scan-delay的另乙個用途是躲閉基於閾值的入侵檢測和預防 系統(ids/ips)。
-t(設定時間模板)
上述優化時間控制選項的功能很強大也很有效,但有些使用者會被迷惑。此外, 往往選擇合適引數的時間超過了所需優化的掃瞄時間。因此,nmap提供了一些簡單的 方法,使用6個時間模板,使用時採用-t選項及數字(0 - 5) 或名稱。模板名稱有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前兩種模式用於ids躲避,polite模式降低了掃瞄 速度以使用更少的頻寬和目標主機資源。預設模式為normal,因此-t3實際上是未做任何優化。aggressive模式假設使用者具有合適及可靠的網路從而加速 掃瞄。insane模式假設使用者具有特別快的網路或者願意為獲得速度而犧牲準確性。

使用者可以根據自己的需要選擇不同的模板,由nmap負責選擇實際的時間值。 模板也會針對其它的優化控制選項進行速度微調。例如,-t4針對tcp埠禁止動態掃瞄延遲超過10ms,-t5對應的值為5ms。 模板可以和優化調整控制選項組合使用,但模板必須首先指定,否則模板的標準值 會覆蓋使用者指定的值。建議在掃瞄可靠的網路時使用-t4,即使 在自己要增加優化控制選項時也使用(在命令列的開始),從而從這些額外的較小的優化 中獲益。

如果用於有足夠的頻寬或乙太網連線,仍然建議使用-t4選項。 有些使用者喜歡-t5選項,但這個過於強烈。有時使用者考慮到避免使主機 崩潰或者希望更禮貌一些會採用-t2選項。他們並沒意識到-t polite選項是如何的慢,這種模式的掃瞄比預設方式實際上要多花10倍的時間。預設時間 選項(-t3)很少有主機崩潰和頻寬問題,比較適合於謹慎的使用者。不進行 版本檢測比進行時間調整能更有效地解決這些問題。

雖然-t0-t1選項可能有助於避免ids告警,但 在進行上千個主機或埠掃瞄時,會顯著增加時間。對於這種長時間的掃瞄,寧可設定確切的時間 值,而不要去依賴封裝的-t0-t1選項。t0選項的主要影響是對於連續掃瞄,在乙個時間只能掃瞄乙個埠, 每個探測報文的傳送間隔為5分鐘。t1t2選項比較類似, 探測報文間隔分別為15秒和0.4秒。t3是nmap的預設選項,包含了並行掃瞄。t4選項與--max-rtt-timeout 1250 --initial-rtt-timeout 500等價,最大tcp掃瞄延遲為10ms。t5等價於--max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大tcp掃瞄延遲為5ms。

ucos iii學習之時間管理

與時間服務相關的api總結 任務呼叫這個函式後就會被掛起直到期滿。這個函式可以有三種模式 相對延時模式,週期性延時模式,絕對定時模式。1 相對延時模式 任務每次執行時都會被延時大約2毫秒。當任務在時基中斷將要到來時被掛起,那麼實際的延時時基會少乙個時基。2 週期性延時 任務設定匹配值決定了任務被喚醒...

Python 之時間戳學習筆記

import time 字元型別的時間 tss1 2013 10 10 23 40 00 轉為時間陣列 timearray time.strptime tss1,y m d h m s print timearray timearray可以呼叫tm year等 print timearray.tm ...

驅動學習之時間管理

通常情況下,jiffies在linux系統啟動引導階段初始化為0,當系統完成了對時鐘中斷的初始化之後,在每個時鐘中斷處理例程中,該值都會被 1,因此該值儲存了系統自最近一次啟動以來的時鐘滴答數。除了時鐘中斷程式對該值有修改的權利,其它任何模組都只有讀的權利。這裡再介紹乙個概念hz,該值在核心原始碼根...