清风微雨 发表于 2013-5-5 11:36:00

python读取交换机

python如何读取交换机的端口信息和转发表信息

福禄娃娃 发表于 2013-5-5 21:14:17

我只是路过打酱油的。

☆小韦QQ 发表于 2013-5-18 13:03:55

我只是路过打酱油的。

怡静 发表于 2013-6-29 20:41:11

只是来看看!

huha88 发表于 2014-6-30 15:43:20


python如何读取交换

彳山一几攵 发表于 2014-7-8 14:18:00

:lol:.........大召唤术:我爱鱼C,鱼币来.....

彳山一几攵 发表于 2014-7-8 14:18:43

.........大召唤术:我爱鱼C,鱼币来.....

萧然 发表于 2014-8-4 17:36:49

什么意思?用python写程序在电脑运行,通过物理连接到交换机读取信息?

tractrac 发表于 2014-8-8 16:27:12

交换机里有一个arp表,利用arp表可以找到与其相连的交换机的mac地址,然后再从mac端口对应表里找出端口

def getTrunk(ip,port,agent,communication):
    macAddr = []
    macList = []
    portList = []
    macStrList = []
    linkPort = []
    oid1 = (1,3,6,1,2,1,4,22,1,2)#ARP表oid
    oid2 = (1,3,6,1,2,1,17,4,3,1,2)#mac端口对应表lid
   
    gen = cmdgen.CommandGenerator()
    errorIndication, errorStatus, errorIndex, varBinds = gen.nextCmd(
      cmdgen.CommunityData(agent, communication,1),
      cmdgen.UdpTransportTarget((ip,port)),
      oid1,
      )
    #获取ARP表里的mac地址
    for varBind in varBinds:
      for name,val in varBind:
            macAddr.append(val.prettyPrint(0))
   
    gen.ignoreNonIncreasingOid = True#让oid可以非递增
    errorIndication, errorStatus, errorIndex, varBinds = gen.nextCmd(
      cmdgen.CommunityData(agent, communication,1),
      cmdgen.UdpTransportTarget((ip,port)),
      oid2,
      )
    #获取mac端口对应关系
    for varBind in varBinds:
      for name,val in varBind:
            macList.append(name[-6:])
            portList.append(val.prettyPrint())
    #将十进制mac地址转化为16进制的字符串
    for item in macList:
      temp = ''
      for part in item:
            temp += str(hex(int(part)))
      temp = '0x' + temp
      macStrList.append(temp)
    for item in macAddr:#获取端口号
      if item in macStrList:
            index = macStrList.index(item)
            linkPort.append(portList)
    #去除列表中的重复元素
    linkPort = {}.fromkeys(linkPort).keys()#linkPort = list(set(linkPort))
    return linkPort

wei_Y 发表于 2014-9-1 11:45:13

我只是来混个鱼币。。

Aegis 发表于 2014-10-9 19:09:33

很牛逼的样子!

Mvink 发表于 2014-12-25 15:50:31

没办法啊

ustc3412 发表于 2014-12-25 23:49:03

帮顶~~~~

Reed 发表于 2014-12-27 17:10:04

Thanks for your fish coin.

qzv 发表于 2014-12-29 15:54:32

loop

Mvink 发表于 2014-12-30 09:44:57

"学在苦中求,艺在勤中练" 共勉

微逻辑 发表于 2015-1-1 00:17:13

高端

小小小菜菜菜 发表于 2018-12-20 14:07:05

{:5_90:}

lechenstar 发表于 2019-11-11 18:27:39

楼主有解决方案了吗,求分享

倔强的萝卜头 发表于 2020-4-9 13:47:09

我来看看
页: [1] 2 3 4 5
查看完整版本: python读取交换机