如何用scapy解码DHCP中继包的hex数据?

2024-09-28 21:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用scapy从DHCP服务器上的DHCP中继中嗅探DHCP数据包,但是我有个问题,因为我感兴趣的部分是用hex编写的。在

这是破解图书馆的另一种方法?在

下面是一个由scapy嗅出的包的例子。我想解码的部分是“Unknown DHCPv6 Option”下的“data”:

###[ Ethernet ]###
  dst= f4:cf:e2:4c:9c:ed
  src= 00:22:bd:f8:35:47
  type= 0x86dd
###[ IPv6 ]###
     version= 6L
     tc= 0L
     fl= 0L
     plen= 149
     nh= UDP
     hlim= 255
     src= 2001:db8:0:1::ee
     dst= 2001:db8:0:1::ed
###[ UDP ]###
        sport= dhcpv6_server
        dport= dhcpv6_server
        len= 149
        chksum= 0xd489
###[ DHCPv6 Relay Forward Message (Relay Agent/Server Message) ]###
           msgtype= RELAY-FORW
           hopcount= 0
           linkaddr= 2001:db8:0:1::e6
           peeraddr= fe80::f6cf:e2ff:fe11:7ef9
###[ Unknown DHCPv6 OPtion ]###
              optcode= RELAY_MSG
              optlen= 77
              data= '\x01\xed\t{\x00\x01\x00\n\x00\x03\x00\x01B\x00\x14\\U\xb3\x00\x06\x00\x04\x00\x17\x00\x18\x00\x08\x00\x02\x00\x00\x00\x19\x00)\xe2\x11~\xf9\x00\x00\x0e\x10\x00\x00\x15\x18\x00\x1a\x00\x19\x00\x00\x1c \x00\x00*00 \x01\x0b\xc80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
###[ DHCP6 Option - Relay Agent Remote-ID ]###
                 optcode= OPTION_REMOTE_ID
                 optlen= 14
                 enterprisenum= ciscoSystems
                 remoteid= '\x00\x03\x08\x00\x00"\xbd\xf85G'
###[ DHCP6 Interface-Id Option ]###
                    optcode= INTERFACE_ID
                    optlen= 4
                    ifaceid= '\t\x01\x00\n'

当我这样做时packet[DHCP6OptUnknown].getfieldval(data)它会返回

'\x01\xed\t{\x00\x01\x00\n\x00\x03\x00\x01B\x00\x14\\U\xb3\x00\x06\x00\x04\x00\x17\x00\x18\x00\x08\x00\x02\x00\x00\x00\x19\x00)\xe2\x11~\xf9\x00\x00\x0e\x10\x00\x00\x15\x18\x00\x1a\x00\x19\x00\x00\x1c \x00\x00*00 \x01\x0b\xc80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

我想通过服务器发送这个数据。在

提前感谢您的帮助!在

Ps:对不起我的英语不好:)

编辑: 修补DHCP中继数据包后如下所示:

^{pr2}$

Tags: iddatarelaydhcpoptionx00x03x01