其mac当然是知道的,但路由器不理我的对交换机的arp请求,有没有通用的代码实现办法?cisco可以用cdp,但其他品牌的交换机呢?tracert和arp -a很多时候都不行呃……

解决方案 »

  1.   

    发一个生命期是1的PING包不行?
      

  2.   


        我的网关是路由器,通过几个三层交换机才连到我的主机上的……我就想知道最近的那个,当然如果能获得路由器下所有三层交换机的ip就更perfect啦!
      

  3.   


        ping肯定是可以通的,但那是知道ip为前提,我就是想知道ip如何获得,干什么都方便了,只知道mac应该不可以ping吧,而且路由器下交换机的ip通常和主机都不在同一个网段,相差很大滴,我没办法用ping遍历0.0.0.0到255.255.255.255,因为效率太低了……
      

  4.   


    概念澄清,网关不可能是路由器,如果你非说是路由器,那一定是交换机和路由器一身的一个设备。目前家用的基本都是这种玩意。真正主干上的路由器是没有交换机功能的。所以你就是想得到你的第2跳交换机的IP?交换机不能发出ICMP超时报文,也不回应ping报文,甚至连有没有ip都不一定,所以traceroute不起作用。
      

  5.   


       网关怎么不可能是路由器啊,RFC早期文档里的网关事实上指的就是路由器,我不是家用网络,而是大学里的局域网,网关设的是218.194.60.193,自己的ip是218.194.60.199,而193是cisco路由器194的虚拟ip,cisco的hrsp协议,用wireshark截包,不断的有218.194.60.194 224.0.0.2 HSRP Hello (state Active)的问候信息,而且arp请求外网的主机ip,返回的都是193的MAC,怎么可能是交换机呢?!而且一般交换机都会发送spanning tree信息,193和194却什么都不发,我确实收到了离我最近的这个交换机的spanning tree,但里面只有mac信息,没有它的管理ip,而事实上我知道它的ip是10.254.254.179,却是网管告诉的(所以更敢肯定193是路由器),我就是想有没有办法通过其他手段能够发现这个交换机的ip。
      

  6.   

    总之,交换机不能发出ICMP超时报文,也不回应ICMP ping报文
      

  7.   

    如果你的网关是路由器的地址的话,就说明直接相连的交换机只是起到一个透明网桥的作用,是不响应icmp和
    其它三层协议的,所以ping不到
      

  8.   

    晕,10.254.254.179就是离我最近的交换机,还不断发spanning tree,cdp,而且cdp里清楚的写着是交换机,cisco2950,我都telnet进去耍一转了,我怎么可能乱说嘛,而且10.254.254.179是可以ping通的!
      

  9.   

    不过ping 10.254.254.179估计是路由器发送的icmp回应,而路由器却不理我对10.254.254.179的arp请求包。唉,无语了,关键是网管也telnet进去管理这个交换机,没ip他怎么telnet?
      

  10.   

    自己构造一个假的路由协议报文,如果交换机接口上开启了路由协议,会有反馈的,通过抓包工具抓包看看,应该能搞得到ip地址。
    反正目的就是假装和这个最近的交换机进行一次协议交互,然后抓包就应该得到ip了
      

  11.   

    我就说嘛,是一个三层交换机,用traceroute行不行?
      

  12.   

    traceroute 路由器就是路由器,而交换机ip结果是先经过路由器ip,然后才是交换机ip,没有滴