<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    掃描性能改進

    對于人類來說,希望使他們的工具變的更好。由于掃描是一個耗時的過程,因此很自然的會考慮如何提高其速度。獲取信息的延遲取決于掃描速度,因此,掃描結果的有效性也取決于掃描速度,因為某些網絡可能非常動態,尤其是撥號網絡和Wi-Fi網絡。在某些情況下,掃描速度甚至變得非常關鍵,例如,由于零日蠕蟲或病毒進入網絡,網絡管理員需要對所有受感染的計算機進行本地化。同樣,生產率也不應低估–快速掃描可使管理員的工作更有效,尤其是在大型公司網絡中。

    除了并行化以外,還有更多提高掃描速度的可能性。有時有用的最簡單方法是速度準確性折中:用戶可以減少各種超時和完成的探測次數(例如,在ping的情況下)。這將增加丟失某些主機或端口的可能性,但是返回結果的速度要快得多。在非常擁擠的網絡中獲取統計信息可能很有用。

    上述想法的更聰明的發展是自適應超時。原理是測量整個網絡或特定主機中數據包的平均往返時間,然后將該值用作發送后續數據包的超時。萬一首先使用ICMP回顯(ping)數據包探測主機,這可以大大提高端口掃描速度,尤其是在當代網絡中,存在許多基于網絡甚至基于主機的防火墻阻止數據包,從而使大多數端口被過濾(根本不會向TCP SYN數據包發送回復)。這使得端口掃描速度在很大程度上取決于每個端口的超時時間(我們等待響應的時間),并且超時時間越短,掃描速度就越快。這意味著掃描程序必須始終選擇盡可能短的超時,在此期間,大多數數據包應具有足夠的時間來取回。對于每個掃描的主機,此所需的超時可能會有所不同。但是,如果超時時間太短,則考慮到端口已被過濾,掃描程序將不會對大多數數據包做出任何答復,但實際上主機的答復速度比預期的要慢。Angry IP Scanner測量平均往返時間(如果可能),將其乘以三,然后將該值用作端口掃描的超時。即使是這個簡單的解決方案也可以將掃描速度提高數倍。

    另一個相對簡單的想法是線程池。盡管創建每個線程絕不比創建進程便宜(有時甚至將線程稱為“輕量級進程”),但這仍然是一個相對復雜的任務,涉及內存分配,在不同系統表中的注冊等。考慮到線程創建的級別非常高,而且它們的生存期很短,明智的做法是重用它們而不是連續銷毀它們。由于掃描程序仍然需要限制最大線程數,因此為什么不對線程池的大小使用相同的數量?在這種情況下,當任何線程完成對主機的掃描后,它將進入睡眠狀態,標記為空閑,然后返回到池中。然后,如果要掃描的地址更多,并且池中有一些線程可用,則可以將它們取回并重新用于掃描其他主機。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类