lua dhcp options

IPoE related questions
Post Reply
brodayga
Posts: 95
Joined: 23 Oct 2014, 06:13

lua dhcp options

Post 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
brodayga
Posts: 95
Joined: 23 Oct 2014, 06:13

Re: lua dhcp options

Post 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)
fet4
Posts: 37
Joined: 05 Dec 2016, 07:35

Re: lua dhcp options

Post by fet4 »

Спасибо brodayga, достал ip свича с суб опции.
Post Reply