模塊化和可擴展性
Angry IP Scanner是一個開源程序。乍一看,開源軟件似乎可以是一個整體–用戶無論如何都可以通過編輯源代碼來擴展其功能。但是,在大多數情況下,情況并非如此。通常,為了對代碼進行重大更改,開發人員必須花費大量時間閱讀和調試代碼,以了解其工作方式以及在何處進行準確的修改。眾所周知,閱讀代碼通常比編寫代碼難得多,尤其是在原始作者未盡力使代碼可擴展的情況下。
Linux內核過去曾走過這條路:它始于100%的整體代碼,但是隨著它的發展和吸引越來越多的開發人員,人們采取了一種更加模塊化的方法。現在,Linux內核具有模塊,這些模塊可以集成到基本內核二進制文件中,也可以根據需要單獨加載。這項改進和其他一些改進使開發速度大大提高,而內核發行速度的提高很容易引起人們的注意。
因此,如果安裝了模塊化可擴展系統,則任何人都可以輕松地為軟件添加其他功能,因為可擴展性點可能已被很好地記錄在案并且具有簡單的界面。另一方面,這可以減少原始應用程序的膨脹,使代碼更簡單,并且可能使應用程序本身更快,因為如果不使用某些“可選”插件,則根本不會加載它們。
插件通常是一個外部軟件組件,可以動態加載以添加或擴展基本程序的功能。Angry IP Scanner的內部設計旨在盡可能地模塊化,以便以后可以引入更多內部擴展或外部插件。
Feeders
用戶在掃描前選擇一個饋線并進行適當配置,以便向掃描器提供所需的IP地址序列。內置的Feeders包括:
- IP范圍–以兩個提供的地址開頭和結尾的IP地址進行迭代,例如從192.168.0.1到192.168.0.255
- 隨機–根據提供的位掩碼(為了定義每個生成的地址的某些部分)生成請求數量的隨機IP地址,例如100個以192.開始,以.125結尾的地址。
- IP列表文件–從用戶提供的任何文本文件中提取IP地址。該文件可以采用任何格式- Feeder會在其中查找與IP地址類似的所有令牌,因此任何導出器的輸出都可以在以后用作新掃描的輸入。
- Advanced(高級)–提供以文本形式(用于高級用戶)指定更復雜的標尺生成的功能(例如192.168-170.150.1-255或192.168.0.0/24)。
Fetchers
用戶在掃描之前選擇多個Fetchers。選定的Fetchers列表定義了有關每個已掃描IP地址的信息的類型和數量。內置Fetchers包括(已實施和計劃中):
- IP地址–最簡單的提取程序,僅顯示當前掃描的IP地址
- Ping –使用選定的Pinger顯示數據包往返主機和往返時間(請參閱下文)
- TTL –顯示從主機返回的數據包的IP標頭中的TTL值(僅在某些Pingers中可用)主機名–顯示使用IP地址通過DNS反向查找獲得的主機名
- MAC地址–使用ARP請求獲得的主機物理網絡接口的MAC(硬件)地址。這僅在本地網絡上有意義。
- NetBIOS用戶名/計算機/工作組– Windows主機專用的三個訪存程序,使用NetBIOS請求來獲取信息。
- 端口–獲取掃描主機上打開的TCP端口的列表。請注意,僅掃描用戶指定的端口號。
- 篩選的端口–獲取掃描主機上篩選的TCP端口的列表。過濾的端口是由防火墻或路由器過濾的端口,因此必須有某些原因專門隱藏這些端口。
- 版本檢測–嘗試檢測開放端口背后的服務及其版本
Pingers
Pingers是通過Ping和TTL內部使用Fetchers,但它們是特殊的,因為隨后Fetchers取決于查驗的決定是否繼續掃描和調整超時。實施了以下內部ping(每個都適用于不同情況):
- ICMP回聲– ping程序使用的標準ping方法。這種方法的缺點是,許多防火墻專門阻止了這些數據包,并且發送它們需要使用原始套接字,因此,在大多數平臺上都需要管理員特權。
- Windows ICMP.DLL –由于最近從Windows中刪除了原始套接字支持,因此需要針對Windows的ICMP回顯ping替代實現。
- UDP –將UDP數據包發送到可能關閉的端口。如果是這種情況,主機通常以負* ICMP數據包作為響應,告訴掃描程序主機實際上處于活動狀態
- TCP –嘗試連接到主機上的端口80,因為它可能不會被過濾。來自宿主的積極和消極反應都意味著它是活的。
- ARP –尚未實施,但通過繞過防火墻使用物理層ARP請求,可能比本地網絡中的所有其他方法更具優勢。
Exporters
完成掃描后使用Exporters,以便將結果導出到Angry IP Scanner之外,最常見的是導出為某種格式的文件。內置Exporters包括:
- TXT –可讀的純文本文件
- CSV –以逗號分隔的值(按所選提取程序的順序)
- XML –用于機器處理的格式正確的XML。以后可以通過自定義XSL模板進行后期處理。
- IP:Port list –為每個活動主機的每個打開的端口輸出IP:端口行。這些文件可以由某些流行的程序讀取。
Openers
Openers–用于“開啟”結果列表中的所有掃描主機。通常,打開程序執行外部程序,以便連接或向特定主機發送某些內容,例如打開Web瀏覽器或發送關機消息。
IPScan中文使用方法文檔
推薦文章: