我正在使用snmp來發現網絡中的設備的網絡發現程序。我的程序將router-ip作爲輸入,掃描iprotetable(iprouttenext hop),以確定是否有其他路由器連接到它。對於非路由器設備(如交換機),算法會掃描路由器的arptable(ipnettomediatable),但無法找到連接的交換機,除非我從交換機ping到路由器。有什麼方法可以確定直接連接到路由器的設備..?snmp網絡發現識別連接到路由器的設備的MAC地址
0
A
回答
0
我使用broadcast消息我的Java SNMP代理
2
獲取連接到路由器或交換機的設備不是那麼容易。交換機通常會維護一個MAC轉發數據庫,用於存儲在哪個交換機端口上可以看到哪個MAC地址。該表可以通過使用網橋MIB輕鬆讀取。不幸的是,有幾個問題需要注意:
- 這些條目再次消失,當交換機的設備已關閉或根本不通信。通常情況下,MAC轉發表中的條目在5分鐘左右後纔會老化。
- 在交換機端口上看到MAC地址的事實並不意味着具有該mac地址的設備直接連接到該端口。其間可能有任何其他交換機,路由器或集線器。
一些像思科或惠普這樣的製造商使用自己的協議來確定網絡拓撲。有幾種協議(該區域通常也可通過SNMP MIB獲得):
- CDP(思科發現協議):這是思科開發的專有協議,用於公開網絡拓撲信息。一些供應商使用該技術並在其產品中實施該協議。
- LLDP(鏈路層發現協議):一種類似於CDP的標準,但不支付思科許可費:-)
- 還有更多。我知道Extreme Networks有自己的協議,我非常肯定其他廠商也有它們。
這些協議的問題是當你有一個混合的環境。思科交換機談論CDP不理解Extremen Network的協議,反之亦然。
如果您的目標是查找IP地址,那麼您可以使用路由器的ARP緩存。掃描交換機的ARP緩存沒有意義,因爲它們在第2層上運行。
相關問題
- 1. 獲取連接到WLAN路由器的所有設備的MAC地址在C#
- 2. 獲取設備連接到局域網的設備的IP地址/ MAC地址
- 3. 從連接到另一個網絡的Android設備上我的路由器的公共IP地址
- 4. 超越Mac地址:獨特識別服務器端的設備
- 5. 獲取路由器範圍內設備的MAC地址
- 6. 本地網絡中的設備發現
- 7. 使用snmp測試與網絡設備的連接
- 8. 將Docker容器連接到網絡接口/設備而不是IP地址
- 9. SNMP:如何在網絡中找到一個mac地址?
- 10. SNMP獲取連接到交換機端口的mac地址
- 11. 連接到java中的網絡設備
- 12. 連接到mac的設備
- 13. 如何獲取使用java的網絡設備的MAC地址
- 14. Android將無法連接到WiFi網絡後,MAC地址更改
- 15. 得到連接到路由器的DHCP地址
- 16. 網絡設備發現
- 17. 連接到3G移動網絡時獲取Android設備的IP地址
- 18. 路由器到路由器連接需要多少個可分配的地址?
- 19. 網絡如何識別設備?
- 20. 從網絡外的設備連接到本地主機
- 21. 使用可可連接到本地網絡上的設備
- 22. 如何區分連接到網絡的Android設備和筆記本電腦的MAC地址?
- 23. 如何發現網絡中和機器上的機器的MAC地址?
- 24. 爲連接的網絡設備獲取唯一的標識
- 25. 如何識別充當路由器的設備,即使用SNMP查詢轉發數據包?
- 26. 連接到路由器的設備的Wi-Fi信號信息
- 27. 知道從mac地址接口snmp
- 28. 如何發現多網段網絡上所有設備的IP地址?
- 29. iOS模擬器無法連接到本地網絡IP地址
- 30. 如何獲取Android中Wifi連接設備的MAC地址