如何解析 DHCP 供应商特定信息

如何解析 DHCP 供应商特定信息

您好,我想根据序列号分配 IP,因为如果我不连接物理电缆并登录,则无法获得 mac 地址。Tcpdump PCAP DHCP 数据包:

  TIME: 2023-10-27 09:58:33.159
    IP: 0.0.0.0
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: bc309003
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:0b:d3:31:fe:d2:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         7 (DHCPRELEASE)
OPTION:  54 (  4) Server identifier         10.0.0.189
OPTION:  43 ( 74) Vendor specific info      01074d514d393730 ..MQM860
                                            30020c4d514d3937 0..MQM97
                                            30302d4e53324603 00-NS2F.
                                            0c4d543232333158 .MT1111X. << serial
                                            32333034330406e8 23043...
                                            ebd331fed2051069 ..1....i
                                            622d73696e676c65 b-single
                                            2d73776974636806 -switch.
                                            09332e31312e3130 .3.11.10
                                            3134             14
OPTION:  60 (  6) Vendor class identifier   DELL

以下是我尝试过但没有效果的方法

host server1 {
  option dhcp-client-identifier = "MT1111X23043";
  fixed-address 10.0.0.40;
  option tftp-server-name = "http://10.0.0.18:8080/server/image/";
}

串口在选项(43)如何发送给dhcp服务器分配ip?

答案1

这不是您问题的完整解决方案。但我今天必须处理这个问题...

仅记录代码中的 20 个字节,从字节 6 开始:

日志(信息,连接(“供应商:”,子字符串(选项供应商封装选项,6,20)));”

如果二进制到 ASCII(16,8,“:”,子字符串(选项供应商封装选项,6,20))=“0:0:0:c1”{

无论如何... X 池...

}

将池放入此 if 子句中......

带有大写 V 的供应商封装选项...

相关内容