linux - 查找以太网设备的物理端口 - OPENWRT

标签 linux networking openwrt

我已经用尽了这里的所有知识,但仍然卡住了。

问题:我想找出设备连接到哪个物理交换机端口,并引用 MAC 地址。我已经能够在有线设备上找到很多信息,但我似乎找不到任何能给我想要的命令。

下面是我试过的。

命令:BRCTL

busy box 中的默认 BRCTL 没有“showmacs”命令。为了得到这个,你必须安装 bridge 包和 --force 依赖。

我相信这个命令告诉我哪些 MAC 地址正在与网桥通信,但是 PORT 值只有 1 或 2。这似乎分别与 eth0 和 wlan0 相关,因为这是它们分配给网桥的顺序.

问题是这没有给我插入路由器背面的物理端口。 IE。 1-4。所以我一直在寻找。

输出:

brctl showmacs br-lan<br>

port no    mac addr        is local?    ageing timer <br>
  1    00:21:70:be:19:2b    no          17.34 <br>
  2    00:22:5f:28:64:54    no          11.16 <br>
  2    10:40:f3:af:ee:6a    no           0.05 <br>
  1    10:6f:3f:29:72:22    yes           0.00 <br>
  2    5c:0a:5b:84:27:8b    no           1.25 <br>
  1    5c:26:0a:7a:a7:60    no           0.00 <br>

命令:swconfig -注意我已经删除了这个命令的很多输出以使其更整洁。

此命令向我显示了一些有关端口的有用信息。它告诉连接了哪些物理端口以及连接速度。但是问题是这个命令提供的信息都没有给我 MAC 地址,这意味着我无法确定哪个设备连接到哪个端口。

我似乎找不到将 mac 地址与端口值匹配的方法。

root@OpenWrt:~# swconfig dev eth0 show
Global attributes:
    enable_vlan: 1
Port 0:
    mib: Port 0 MIB counters

{deleted mib values}

    pvid: 1
    link: port:0 link:up speed:1000baseT full-duplex txflow rxflow 
Port 1:
    mib: Port 1 MIB counters

{deleted mib values}

    pvid: 1
    link: port:1 link:up speed:1000baseT full-duplex auto
Port 2:
    mib: Port 2 MIB counters

{deleted mib values}

    pvid: 1
    link: port:2 link:up speed:1000baseT full-duplex auto
Port 3:
    mib: Port 3 MIB counters

{deleted mib values}

    pvid: 1
    link: port:3 link:down
Port 4:
    mib: Port 4 MIB counters

{deleted mib values}

    pvid: 1
    link: port:4 link:down
VLAN 1:
    vid: 1
    ports: 0 1 2 3 4 
root@OpenWrt:~# 

最佳答案

路由器和物理端口之间有一个开关。 swconfig 接口(interface)到该交换机。如果您有默认配置,则路由器不知道每个物理端口,它只能看到一个到交换机的连接。您有两种可能的选择,为每个物理端口配置不同的接口(interface),以便路由器可以区分它们,或者获得增强版的 swconfig,它可以查询交换芯片的内部结构,其中应该有每个端口的 MAC 列表.参见 http://wiki.openwrt.org/doc/uci/network/switch .

关于linux - 查找以太网设备的物理端口 - OPENWRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19670980/

相关文章:

linux shell脚本数学运算

sql - 为什么 rlwrap 会因冗余输出而使屏幕变得困惑?

Java 和 TCP 消息 - 每次在不同端口发送的消息

networking - 套接字 API accept() 函数如何工作?

c++ - 在嵌入式 Linux 中调度文件操作

linux - 安装修改后的内核头以访问内核程序

linux - 须藤-i : why does this give a root shell?

java - UDP聊天问题

c++ - boost::system::error_code 产生错误 158 未知

cron - wget 不是通过 cronjob 执行而是直接在控制台中执行