怎么查汇聚交换机下的所有设备IP

有没有什么命令能直接查出每个端口下的设备IP地址?通过汇聚dis mac-address 再核心Dis arp太麻烦

是什么设备?华为还是思科的


display arp

display lldp neighbor

这个得看具体交换机型号

什么设备啊,可以使用lldp 数据链路层发现协议 专门就是查询设备上下联的ip和设备信息的 包括级联端口

  • 看下这篇博客,也许你就懂了,链接:如何根据IP获取对方的MAC地址?ARP协议了解一下
  • 除此之外, 这篇博客: 【网络】如何扫描局域网内所有设备的ip和mac地址中的 ARP命令详解 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •    ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。实用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/IP地址对,我们可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。

      按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

    在命令行中输入arp /?可以得到ARP命令的详细说明,这里就不照搬内容了。

      ARP常用命令选项:
      ·arp -a或arp -g
      用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

    显示所有接口的当前 ARP 缓存表。要显示特定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表 IP 地址。如果未指定 InetAddr,则使用第一个适用的接口。要显示特定接口的 ARP 缓存表,请将 -N IfaceAddr 参数与 -a 参数一起使用,此处的 IfaceAddr 代表指派给该接口的 IP 地址。-N 参数区分大小写。 

      ·arp -a IP
      如果我们有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。

      ·arp -s IP 物理地址
      我们可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。 

      ·arp -d IP
      使用本命令能够人工删除一个静态项目。删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。 

      例如我们在命令提示符下,我们使用过 Ping 命令测试并验证从这台计算机到 IP 地址为 10.0.0.99 的主机的连通性,然后再键入 Arp -a,则 ARP 缓存显示以下项: 
      Interface:10.0.0.1 on interface --- 0x1
      Internet Address   Physical Address   Type
      10.0.0.99       00-e0-98-00-7c-dc   dynamic

      在此例中,缓存项指出位于 10.0.0.99 的远程主机解析成 00-e0-98-00-7c-dc 的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。媒体访问控制地址是计算机用于与网络上远程 TCP/IP 主机物理通讯的地址。

      至此我们可以用ipconfig和ping命令来查看自己的网络配置并判断是否正确、可以用netstat查看别人与我们所建立的连接并找出ICQ使用者所隐藏的IP信息、可以用arp查看网卡的MAC地址。



     

    Linux 下查看局域网内所有主机IP和MAC

    用nmap对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip对应的mac了。nmap比较强大也可以直接扫描mac地址和端口。执行扫描之后就可以 cat /proc/net/arp查看arp缓存表了。

    进行ping扫描,打印出对扫描做出响应的主机:  

    $ nmap -sP 192.168.1.0/24  

    仅列出指定网络上的每台主机,不发送任何报文到目标主机: 

    $ nmap -sL 192.168.1.0/24  

    探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS 22,23,25,80):  

    $ nmap -PS 192.168.1.234  

    使用UDP ping探测主机:

    $ nmap -PU 192.168.1.0/24  

    使用频率最高的扫描选项(SYN扫描,又称为半开放扫描),它不打开一个完全的TCP连接,执行得很快: 

    $ nmap -sS 192.168.1.0/24

  • 以下回答由chatgpt基于相关博客总结生成:

    ARP协议是通过广播实现的,所以无法直接查找汇聚交换机下的所有设备的IP地址。你可以通过以下步骤简化查找过程:

    1. 首先,获取汇聚交换机的管理权限,可以使用SSH、Telnet等远程登录工具登录交换机的管理界面。

    2. 登录后,使用命令行界面进入特权模式,一般是输入enable命令。

    3. 进入特权模式后,通过show mac address-table命令查看交换机的MAC地址表,这表明交换机当前已学到的MAC地址。

    4. 根据MAC地址表,可以看到每个端口对应的MAC地址。

    5. 接下来,你可以通过ARP协议获取每个设备的IP地址。但由于ARP协议是通过广播的形式获取IP地址,可能需要进行逐个端口发送ARP请求,这会比较繁琐。

    请注意,在具体操作中,命令可能会有所不同,具体命令请参考汇聚交换机的厂商文档或帮助手册。

    以下是一个示例代码,用于使用SSH登录Cisco交换机,并查看MAC地址表:

    import paramiko
    
    def ssh_login(hostname, username, password):
        client = paramiko.SSHClient()
        client.load_system_host_keys()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
        client.connect(hostname, port=22, username=username, password=password)
        return client
    
    def get_mac_address_table(ssh_client):
        stdin, stdout, stderr = ssh_client.exec_command('show mac address-table')
        output = stdout.read().decode()
        return output
    
    def parse_mac_address_table(output):
        mac_addresses = []
        lines = output.split('\n')
        for line in lines:
            if 'DYNAMIC' in line:
                parts = line.split()
                if len(parts) >= 3:
                    mac_address = parts[1]
                    port = parts[2]
                    mac_addresses.append((mac_address, port))
        return mac_addresses
    
    if __name__ == '__main__':
        hostname = '192.168.0.1'
        username = 'admin'
        password = 'password'
    
        ssh_client = ssh_login(hostname, username, password)
        mac_address_table_output = get_mac_address_table(ssh_client)
        mac_addresses = parse_mac_address_table(mac_address_table_output)
    
        for mac_address, port in mac_addresses:
            print('MAC Address: {}, Port: {}'.format(mac_address, port))
    

    请注意,此示例代码仅适用于Cisco交换机,如果使用其他品牌的交换机,请参考相应的命令和工具。

    希望这个解决方案能对你有所帮助!如果还有其他问题,请随时提问。

display lldp neighbor

参考
https://zhiliao.h3c.com/questions/dispcont/90363
https://jingyan.baidu.com/article/48206aea868d85216ad6b3d8.html

可使用如下命令查看交换机配置了哪些IP地址:

dis ip int brief

dis int brief

https://blog.csdn.net/weixin_34232363/article/details/91609250
在华三交换机的GUI界面中,选择“网络管理”>“接口管理”>“接口列表”,然后选择要查看的接口,即可查看该接口的详细信息,包括它的IP地址等信息。

快速采集交换机下计算机ip

点击屏幕左下角任务栏左边的“开始”菜单,选择“运行”命令:

5baf7feccd1737adfbb0224d913a6a71.png

在弹出“的运行”对话框的文本输入框中直接输入“cmd”,单击“确定”按钮,打开黑色背景的DOS“命令提示符”窗口:

4983943f64a201a3d11fbc55147aa811.png

或者单“开始”按钮,选择“所有程序”,再选择“附件”,再从弹出的菜单中选择“命令提示符”,同样能打开“DOS命令提示符”窗口:

b3033ae2597b13afee719d8f159f5522.png

在DOS“命令提示符”窗口中输入“ipconfig /all”,同样可以查看本机的详细信息:

471d1f765c8c2b285a2922228f85f571.png

在该结果窗口中,具体显示了本机详细的计算机名称、MAC地址、DHCP、DNS、网关等详细内容。

试试DIS MAC-ADDRESS INTERFACE,不同厂家的命令可能不同

. 连接到交换机:使用串口线或网线将计算机连接到交换机上,确保连接正常。2. 打开命令提示符:在计算机上打开命令提示符窗口,可以通过快捷键 Win + R,输入 cmd,再按回车键来打开。3. 输入命令:在命令提示符窗口中输入以下命令:arp -a,然后按回车键执行。4. 查看IP地址:执行命令后,会列出连接到计算机的所有设备的IP地址和物理地址,查找其中的交换机IP地址即可。如果交换机已经配置了管理IP地址,可以通过以下方法直接访问交换机:1. 打开浏览器:在计算机上打开浏览器。2. 输入IP地址:在浏览器地址栏中输入交换机的IP地址,然后按回车键。3. 输入用户名和密码:如果交换机需要登录,会跳转到登录页面,输入正确的用户名和密码,然后登录。4. 查看或修改设置:登录后可以查看或修改交换机的设置,例如 VLAN、端口配置等。