要登录的设备ip未知时的处理方法

embedded/2025/3/13 11:03:18/

目录

1     应用场景... 1

2     解决方法:... 1

2.1      wireshark设置... 1

2.2      获取网口mac地址,wireshark抓包前预过滤掉自身mac地址的影响。... 2

2.3      pc网口和设备对接... 3

2.3.1       情况1:... 3

2.3.2       情况2:... 4

2.3.3       情况3:... 4

2.3.4       情况4:... 5

2.4      情况1的处理方法:... 5

2.5      情况4的解决方法:... 9

  1. 应用场景

  工作中会遇到设备ip未知,但需要web登录配置的问题。如何解决,本文分这几种可能性来解决。

  1. 设备为dhcp的client,配置dhcp动态获取地址的功能。
  2. 设备配置为静态ip地址,配置有网关ip地址。
  3. 设备配置为静态ip地址,但没有配置网关ip地址。
  4. 设备配置为dhcp服务器。
  1. 解决方法:

 这四种情况,可以通过直连设备网口,通过抓包过滤bootp和arp消息来确定属于那种情况,再更加不同情况进行对应处理。

    1.  wireshark设置

抓包前,wireshark添加源mac和目的mac两列,方便观察

edit→preference→columns→+

结果如下:

    1. 获取网口mac地址,wireshark抓包前预过滤掉自身mac地址的影响。

 cmd下执行getmac  /v回车,获取抓包网口的mac地址

C:\Windows\System32>getmac   /v

连接名          网络适配器      物理地址            传输名称

=============== =============== =================== ==========================================================

以太网          Realtek PCIe Gb CC-96-E5-23-39-3C   \Device\Tcpip_{E23FF6BD-F5DA-4E0C-B23F-FB03429AAAB6}

WLAN            Realtek 8821CE  74-97-79-A9-A6-13   媒体已断开连接

VMware Network  VMware Virtual  00-50-56-C0-00-01   \Device\Tcpip_{B8E81AEF-0935-4643-9CE1-94227577892E}

VMware Network  VMware Virtual  00-50-56-C0-00-08   \Device\Tcpip_{FAA21B1C-B7DF-42A2-AE78-E5AACA20FE59}

以太网 2        TAP-Win32 Adapt 00-FF-59-A6-9D-3A   媒体已断开连接

以太网 4        Realtek USB GbE 00-0F-C9-24-10-B1   \Device\Tcpip_{BAD890BC-283C-4C22-845B-A085D6B91131}

选中mac地址,按回车键进行复制操作

如上图,我们用以太网 4网口进行抓包,这是usb网卡,蓝色显示为该网卡的mac地址

打开wireshark,预过滤ether  host  00-0F-C9-24-10-B1,过滤语句变绿无错误后,找到对应网口,双击开始抓包

或者

运行后,显示过滤bootp or arp

    1. pc网口和设备对接
      1. 情况1:

发现设备上报dhcp的discover消息,而且mac地址是设备铭牌标注的mac地址

如上图,有收到设备发来的dhcp discover消息,说明设备配置为dhcp的client,会去主动申请ip地址。

      1. 情况2:

不停收到arp请求同网段的一个ip的mac地址

这种情况说明设备已经配置了ip地址,就是arp发出消息的源ip,这时可以在pc上配置同网段ip进行访问。一般配置掩码为24位,但注意有时会不通,这里要注意一个问题,当源设备的掩码不是标准的b类或者c类地址的掩码,16,24时(如掩码24位,配置ip范围在172.16.1.1-172.16.1.254间的ip都可以访问设备),有可能你设置的ip,ping不通设备。

如设备ip是172.16.1.195/28,网络地址就是172.16.1.192,广播地址就是172.16.1.207,可用ip范围就是172.16.1.193-172.16.1.206,pc只有在这个范围才能访问。所以看到这种收到这种免费arp消息,pc尽量配置相邻的ip地址,如172.16.1.194或者172.16.1.196,防止出现无法访问的问题。

      1. 情况3:

不停收到免费arp消息,说明设备配置了静态ip,而没有配置网格地址

如图:不停收到Address Resolution Protocol (request/gratuitous ARP),说明设备配置这个ip,图上是172.16.1.195,可设置同网段的ip进行访问,这里要注意一个问题,当源设备的掩码不是标准的b类或者c类地址的掩码,16,24时(如掩码24位,配置ip范围在172.16.1.1-172.16.1.254间的ip都可以访问设备),有可能你设置的ip,ping不通设备。

如设备ip是172.16.1.195/28,网络地址就是172.16.1.192,广播地址就是172.16.1.207,可用ip范围就是172.16.1.193-172.16.1.206,pc只有在这个范围才能访问。所以看到这种收到这种免费arp消息,尽量配置相邻的ip地址给pc。防止出现无法访问的问题。

      1. 情况4:

若网线直连后,wireshark过滤bootp or arp没有任何打印,可以判断这个设备此端口开启了dhcp服务功能,在监听udp67端口,pc可以通过设置dhcp client自动获取ip地址,查看网关ip,通过网关ip访问设备。

    1. 情况1的处理方法:

对于设备开启dhcp client,这种可以在pc上运行dhcp server,利用server分配给设备的ip进行访问设备。我们用tftpd32的dhcp服务功能来实现。

过程

明确设备的mac地址,可以看铭牌上的标注。

pc配置网卡配置一个静态ip地址如192.168.1.50。

   配置ip后确定后,关闭以太网的属性,让配置生效。

pc上运行tftp32。

tftp32配置dhcp服务器,配置lease起始ip和lease个数,和option3缺省路由gw的ip地址和掩码mask(option1)

打开tftp32>settings

glabal里勾选dhcp服务(只保留dhcp server)

配置界面选dhcp(仅勾选保留dhcp server)

设置ip地址池起始ip地址,地址池租户个数,dhcp网关ip,掩码

确定后cmd下检查

确定ok以后,检查pc上67端口是否打开?

要测试设备配置了dhcp client的wan接口和pc的网口直连(ac的话eth0或eth1口),观察tftp32里的dhcp server里打印

看抓包里

因为捕获过滤了pc的mac地址的包,所以没有看到完整dhcp四步获取地址的流程。

cmd下ping测试

C:\Windows\System32>ping  192.168.1.51

正在 Ping 192.168.1.51 具有 32 字节的数据:

来自 192.168.1.51 的回复: 字节=32 时间=2ms TTL=64

来自 192.168.1.51 的回复: 字节=32 时间=1ms TTL=64

来自 192.168.1.51 的回复: 字节=32 时间=1ms TTL=64

来自 192.168.1.51 的回复: 字节=32 时间=1ms TTL=64

192.168.1.51 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 1ms,最长 = 2ms,平均 = 1ms

web访问一下这个ip

 ok,问题解决

    1. 情况4的解决方法:

可以尝试一下,设置pc为自动获取ip来解决

抓包里显示

可以看到获得ip是172.16.81.253,网关是172.16.81.1

同样在网络连接里选中网口,右键属性,状态,详细信息里同样可以看到获取ip和网关

ping一下这个网关的ip地址

C:\Windows\System32>ping  172.16.81.1

正在 Ping 172.16.81.1 具有 32 字节的数据:

来自 172.16.81.1 的回复: 字节=32 时间<1ms TTL=64

来自 172.16.81.1 的回复: 字节=32 时间<1ms TTL=64

来自 172.16.81.1 的回复: 字节=32 时间<1ms TTL=64

来自 172.16.81.1 的回复: 字节=32 时间<1ms TTL=64

172.16.81.1 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Windows\System32>arp  -a | findstr 81.1  查一下对应mac,看是否是设备铭牌上的mac地址

  172.16.81.1           64-c3-41-b2-18-21     动态  确定是设备mac地址

web访问一下


http://www.ppmy.cn/embedded/172221.html

相关文章

Google Filament 渲染引擎(2)-Backend 核心类介绍

Google Filament 渲染引擎(2)-Backend 核心类介绍 阅读说明: 本文基于 filament 版本: v1.58.0文本更加阐述 Backend 内部核心类的关系, 示例代码作了非常多的删减和简化 文本将以创建纹理为例, 阐述 Backend 内部的流程。后端图形接口以 OpenGL 为例。 核心类的功能概览: …

TikTok多店铺网络安全搭建指南

在跨境电商和社交电商的浪潮中&#xff0c;TikTok已成为许多商家拓展业务的重要平台。随着多店铺运营模式的普及&#xff0c;网络安全问题也日益凸显。如何搭建一个安全、稳定的网络环境&#xff0c;保障多店铺数据的安全性和业务的连续性&#xff0c;成为商家亟需解决的问题。…

Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)

一、计算机眼中的图像 像素 像素是图像的基本单元&#xff0c;每个像素存储着图像的颜色、亮度和其他特征。一系列像素组合到一起就形成 了完整的图像&#xff0c;在计算机中&#xff0c;图像以像素的形式存在并采用二进制格式进行存储。根据图像的颜色不 同&#xff0c;每个像…

vue的 props 与 $emit 以及 provide 与 inject 的 组件之间的传值对比

好的&#xff0c;下面是 props 与 $emit 以及 provide 与 inject 的对比&#xff1a; 1. props 与 $emit props&#xff1a;父组件通过 props 向子组件传递数据&#xff0c;子组件接收后不可修改。子组件只能读取 props 传递给它的数据。如果需要修改或更新父组件的状态&#…

设计模式在 JDK 中的具体应用与分析

一、设计模式 GOF 设计模式是面向对象设计中常见问题的可复用解决方案&#xff0c;通过 23 种经典模式 提供了一套标准化的设计思路&#xff0c;用于解决软件设计中反复出现的架构和交互问题。其核心特点包括&#xff1a; 经验驱动&#xff1a;源于实际项目的经验总结&#xf…

目录《Vue 3 + TypeScript + DeepSeek 全栈开发实战》

在快速迭代的软件开发世界里&#xff0c;技术的融合与创新始终是推动行业前行的不竭动力。今天&#xff0c;我们站在了前端技术与大数据搜索技术交汇的十字路口&#xff0c;手中的工具不再仅仅是编码的利器&#xff0c;更是解锁未来应用无限可能的钥匙。正是基于这样的时代背景…

【踩坑记录】MAC M4 mini 系统初始化

① 一定要准备好一个usb拓展坞&#xff0c;否则连不上键鼠&#xff01; ② 初始化时&#xff0c;跳过mac账号登录&#xff0c;进入系统后再登录快一百倍&#xff01; ③ 安装nvm&#xff0c;遇到报错&#xff1a;xcode-select: note: install requested for command line dev…

从信息一体到智能联动:辉视智慧学校广播系统全面提升校园管理效率

在智慧校园的建设中&#xff0c;高效、安全的沟通系统是保障教学秩序和校园安全的重要基石。辉视智慧学校广播对讲解决方案&#xff0c;以先进的IP网络和SIP协议为核心&#xff0c;不仅继承了传统广播系统的全部功能&#xff0c;更在此基础上进行了全面革新&#xff0c;为师生打…