本發明屬于計算機IP地址管理技術領域,具體涉及一種基于ARP協議實時監測子網內IP沖突并實時告警的方法及系統。
背景技術:
目前子網內IPv4地址的獲取方式通常有兩種,通過DHCP服務器或者手動配置,經常會出現設備IP地址相同的情況,導致設備不能正常聯網工作,如果IP沖突的設備是比較重要的服務器,那么造成的后果是不堪設想的。
Windows設備能夠感知是否有設備IP與自己IP沖突,但是僅僅感知有設備與自己IP沖突,而不能感知到網內其他設備之間的IP沖突。
目前很多企業,工廠,公司都有IP沖突的現象,造成了很多問題,因為不能及時發現,導致問題出現后,帶來的影響比較嚴重。
技術實現要素:
本發明提供一種基于ARP協議實時監測子網內IP沖突并實時告警的方法和系統,其可以實現對重復IP地址的告警和及時處理。
為實現上述目的,本發明提供一種基于ARP協議實時監測子網內IP沖突并實時告警的方法,其特征在于,所述方法包括:
發送ARP請求報文,依次探測子網內所有的IP,得到IP-MAC關系表,其中,在所述IP-MAC關系表中,IP與MAC一一對應;
監聽子網內的ARP報文,根據接收到的ARP報文中的源IP在所述IP-MAC關系表中查找與之對應的MAC;
判定IP-MAC關系表中的MAC與ARP報文中的MAC不同,根據所述源IP組裝ARP請求報文并發送,若得到多個ARP響應,則觸發告警。
優選地,在得到所述IP-MAC關系表中,若某個IP收到多個ARP響應,則觸發告警。
優選地,若根據所述源IP在所述IP-MAC關系表中無法查到對應的MAC或對應的IP,則將ARP報文中的源IP和MAC添加到所述IP-MAC關系表中。
優選地,在所述根據所述源IP組裝ARP請求報文并發送后,若得到單個ARP響應,則更新所述源IP在所述IP-MAC關系表中的對應信息。
優選地,接收所述告警后,判定IP存在沖突,更改沖突設備的IP地址。
本發明還提供了一種基于ARP協議實時監測子網內IP沖突并實時告警的系統,其特征在于,所述系統包括:
生成模塊,用于發送ARP請求報文,依次探測子網內所有的IP,得到IP-MAC關系表,其中,在所述IP-MAC關系表中,IP與MAC一一對應;
對比模塊,用于監聽子網內的ARP報文,根據接收到的ARP報文中的源IP在所述IP-MAC關系表中查找與之對應的MAC;
處理模塊,用于判定IP-MAC關系表中的MAC與ARP報文中的MAC不同,根據所述源IP組裝ARP請求報文并發送,若得到多個ARP響應,則觸發告警。
優選地,所述處理模塊還用于:在得到所述IP-MAC關系表中,若某個IP收到多個ARP響應,則觸發告警。
優選地,所述系統還包括更新模塊,用于若根據所述源IP在所述IP-MAC關系表中無法查到對應的MAC或對應的IP,則將ARP報文中的源IP和MAC添加到所述IP-MAC關系表中。
優選地,所述更新模塊還用于在所述根據所述源IP組裝ARP請求報文并發送后,若得到單個ARP響應,則更新所述源IP在所述IP-MAC關系表中的對應信息。
優選地,所述系統還包括IP更改模塊,用于接收所述告警后,判定IP存在沖突,更改沖突設備的IP地址。
本發明提供的一種基于ARP協議實時監測子網內IP沖突并實時告警的方法及系統,與現有技術相比,依次探測子網并形成IP-MAC關系表,可以將子網內的IP與MAC進行全面的統計,更好的判斷是否有IP沖突的情況;被動監聽子網中的ARP報文,并根據所包含的源IP查找是否有對應的MAC相對應,根據查找結果判斷是否需要更新關系表或者觸發告警,更改IP沖突設備的IP地址,從而實現子網中主動和被動監聽是否有IP地址相沖突,實時解決重復IP的問題。
附圖說明
圖1為本發明一優選實施例的方法流程示意圖;
圖2為本發明另一優選實施例的系統結構示意圖;
圖3為本發明一優選實施例的方法另一流程示意圖。
具體實施方式
為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和具體實施方式對本發明作進一步詳細描述。
參照圖1所示,在本發明一優選的實施例中提供了一種基于ARP協議實時監測子網內IP沖突并實時告警的方法,該方法包括:
S110、發送ARP請求報文,依次探測子網內所有的IP,得到IP-MAC關系表,其中,在IP-MAC關系表中,IP與MAC一一對應。
由于在子網中同一個IP可能會對應不同的MAC地址,即不同的設備共用同一個IP地址。此種情況下,IP地址的沖突往往導致上網障礙,在更改IP時也是沒有明確的目的進行更改,導致更改后的IP會與子網中的其他設備的IP相沖突。參照圖3所示,在依次探測子網中所有的IP后,在IP-MAC關系表中,同一個IP對應不同的MAC地址,此時即觸發沖突告警,提示IP地址存在沖突。
可選的,當IP地址存在沖突時,根據管理員預先設置的沖突處理規則,更改沖突設備的IP地址。可以實現IP沖突的自動解決,提高更改IP的效率。
可選的,當IP地址存在沖突時,通知管理員,管理員根據判斷,更改沖突設備的IP地址。有利于管理員及時了解子網中IP地址的分布情況,同時提高正確效率。
通過遍歷子網中的所有IP地址,可以全面的維護IP-MAC關系表,對子網中的IP沖突采取針對性的沖突解決機制。
S120、監聽子網內的ARP報文,根據接收到的ARP報文中的源IP在IP-MAC關系表中查找與之對應的MAC。
在步驟S110中生成的IP-MAC關系表中,IP與MAC之間是一一對應的關系。由于關系表是相對固定的,而子網中的設備IP由于自動選擇IP或者用戶的設置會發生變化,因此,在生成IP-MAC關系表后,轉化為被動監聽狀態。
接收到的ARP報文中包括該ARP報文的源IP和對應的MAC地址。取出其中的源IP和MAC,并在關系表中查找。查找的關鍵詞可以是源IP,也可以是對應的域名。
若在IP-MAC關系表中查找的源IP對應的MAC地址與ARP報文中取得的MAC地址相同,且唯一對應,則該子網中沒有發生IP沖突的情況。
可選的,在IP-MAC關系表中無法查找到對應的源IP或者找不到MAC地址,該ARP報文中的源IP和MAC沒有在關系表中,則將源IP和MAC對應關系添加到IP-MAC關系表中,從而更新關系表。
被動監聽子網中的ARP報文,從而判斷是否有IP沖突,可以節省子網中的資源消耗,在判斷的同時保持子網內網絡的穩定性。
S130、判定IP-MAC關系表中的MAC與ARP報文中的MAC不同,根據源IP組裝ARP請求報文并發送,若得到多個ARP響應,則觸發告警。
其中,組裝的ARP請求報文與其他報文格式內容相同,報文中的IP為源IP。
在發送組裝的ARP請求報文后,若得到多個ARP響應,表明該源IP被多個設備共用,存在IP沖突,會觸發告警,進行相應的IP沖突處理,使得處理后的IP-MAC關系表之間的關系是一一對應關系。
可選的,若收到單個ARP響應,表面IP對應的MAC地址發送變化,則更新IP-MAC關系表中的MAC地址,使之與源IP對應。
本發明實施例提供的一種基于ARP協議實時監測子網內IP沖突并實時告警的方法,在步驟S110中,依次探測子網并形成IP-MAC關系表,可以將子網內的IP與MAC進行全面的統計,更好的判斷是否有IP沖突的情況。在步驟S120至步驟S130中,被動監聽子網中的ARP報文,并根據所包含的源IP查找是否有對應的MAC相對應,根據查找結果判斷是否需要更新關系表或者觸發告警,更改IP沖突設備的IP地址,從而實現子網中主動和被動監聽是否有IP地址相沖突,實時解決重復IP的問題。
參照圖2所示,在本發明的另一優選實施例中提供了一種基于ARP協議實時監測子網內IP沖突并實時告警的系統,包括:
生成模塊210,用于發送ARP請求報文,依次探測子網內所有的IP,得到IP-MAC關系表,其中,在所述IP-MAC關系表中,IP與MAC一一對應。
對比模塊220,用于監聽子網內的ARP報文,根據接收到的ARP報文中的源IP在IP-MAC關系表中查找與之對應的MAC。
處理模塊230,用于判定IP-MAC關系表中的MAC與ARP報文中的MAC不同,根據所述源IP組裝ARP請求報文并發送,若得到多個ARP響應,則觸發告警。
在生成模塊210中,若在生成的IP-MAC關系表中,同一個IP對應多個MAC地址,則處理模塊230觸發告警,IP更改模塊240通知管理員及時處理或者按照預定的沖突處理規則處理,更改沖突設備的IP,使得IP與MAC之間保持一一對應的關系。
若根據源IP在IP-MAC關系表中無法查到對應的MAC或對應的IP,則更新模塊250將ARP報文中的源IP和MAC添加到IP-MAC關系表中。此外,根據源IP組裝ARP請求報文并發送后,若得到單個ARP響應,則更新模塊250也同時更新源IP在IP-MAC關系表中的對應信息。
本發明實施例提供的一種基于ARP協議實時監測子網內IP沖突并實時告警的系統,生成模塊210依次探測子網并形成IP-MAC關系表,可以將子網內的IP與MAC進行全面的統計,更好的判斷是否有IP沖突的情況。對比模塊220和處理模塊230被動監聽子網中的ARP報文,并根據所包含的源IP查找是否有對應的MAC相對應,根據查找結果判斷是否需要更新關系表或者觸發告警,更改IP沖突設備的IP地址,從而實現子網中主動和被動監聽是否有IP地址相沖突,實時解決重復IP的問題。
可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。