首先得到本机的默认网关,一般会是一个路由器。或者由用户指定一个已知的路由器作为搜索种子。从这台路由器出发,通过snmp协议编程,获得与其直接相连的路由的下一跳地址,这些地址都是路由器的地址,将其放入一个链表,进行宽度优先搜索即可。注意,这些地址可能是同一台路由器的不同地址,可以通过mib中的sysname进行判断。详细资料可搜索网络拓扑发现,具体编程可用winsnmp。