Networking 如何检测路由器?
我试图写一个程序,扫描一个ip范围,并检测一个ip地址是否是路由器的地址 目前,我使用从计算机到网络中所有主机的跟踪路由。然而,我相信一定有某种方法可以直接“询问”ip上的主机是否是路由器Networking 如何检测路由器?,networking,network-programming,Networking,Network Programming,我试图写一个程序,扫描一个ip范围,并检测一个ip地址是否是路由器的地址 目前,我使用从计算机到网络中所有主机的跟踪路由。然而,我相信一定有某种方法可以直接“询问”ip上的主机是否是路由器 顺便问一下,你知道有哪个程序/开源已经做到了吗?跳到的任何节点,而不仅仅是一个端点,都是路由器。但是,这不允许您检测没有连接可访问设备的路由器。(关于我的答案是否有价值的任何输入都是很好的!)路由器应该讨论一些常规IP节点没有的协议(实际上是一堆协议),然后还有一些更常见的协议(即,即使是非路由器节点也有)
顺便问一下,你知道有哪个程序/开源已经做到了吗?跳到的任何节点,而不仅仅是一个端点,都是路由器。但是,这不允许您检测没有连接可访问设备的路由器。(关于我的答案是否有价值的任何输入都是很好的!)路由器应该讨论一些常规IP节点没有的协议(实际上是一堆协议),然后还有一些更常见的协议(即,即使是非路由器节点也有) 仅路由器协议:
- VRRP
- IGRP/EIGRP
- OSPF
- BGP
- 撕开
- SNMP(特别是像v1/v2这样的不安全的,易于处理,无需建立安全会话)
- 端口扫描(实际上可以告诉您很多),例如,所有路由器都有一些管理端口(尽管它们通常由于安全问题而被锁定)
您想要做的通常是许多“网络管理”软件所做的,以“发现”网络中其他节点的功能。而且,没有一个单一的适合所有人的解决方案。他们使用一系列不同的方法,试探法来最终找出另一个节点是什么 没有办法直接问。有些事情可能会提示rip、ospf或bgp通信,但除了尝试之外,没有什么能确定答案。路由器和其他路由器一样有ip。如果数据包的目的地不是“本地”的话,它只是碰巧将数据包带到其他地方发送。你不能仅仅从一个IP来判断它是否是一个路由器。