Page 1 of 1

lua dhcp options

Posted: 17 Apr 2018, 18:11
by brodayga
Помогите решить задачу: необходимо вытащить в lua суб опцию 9 из опции 82
Дшсп выглядит так
в логе аксела

Code: Select all

recv [DHCPv4 Discover xid=eb2d7d1a chaddr=d4:ca:6d:4d:d0:77 <Message-Type Discover> ..... <Relay-Agent {Agent-Circuit-ID _00fe00070a} {Agent-Remote-ID _08c6b30ab4d4} {Option-9 _00000cf810010e3139322e3136382e3235342e3230}>]
в tcpdump

Code: Select all

 Agent-Information Option 82, length 38:
              Circuit-ID SubOption 1, length 5: ^@M-~^@^G^J
              Remote-ID SubOption 2, length 6: ^HM-FM-3^JM-4M-T
              Unknown SubOption 9, length 21:
                0x0000:  0000 0cf8 1001 0e31 3932 2e31 3638 2e32
                0x0010:  3534 2e32 30

Re: lua dhcp options

Posted: 17 Apr 2018, 18:14
by dimka88

Re: lua dhcp options

Posted: 17 Apr 2018, 19:55
by brodayga
Тоже так думал. (это суб опция опции 82)
сам написал.
Может кому пригодится :
на вход опция и id субопции

Code: Select all

function getsuboption(opt,id)
    len=opt:len()
    o=nil
    i=1
    while i<len do
        v,t,l=string.unpack(opt:sub(i,i+1),'bb')
        if (id == t) then
            o=opt:sub(i+2,i+l+1)
        end
        i=i+l+2
    end
    return o
end
вызов мне нужна 9я субопция

Code: Select all

so=getsuboption(pkt:option(82),9)

Re: lua dhcp options

Posted: 05 Jun 2018, 10:33
by fet4
Спасибо brodayga, достал ip свича с суб опции.