FastNetMon

пятница, 17 октября 2014 г.

Парсинг бинарных UDP DNS сообщений на Go lang

Эту таску легко решить с помощью совершенно волшебного модуля от miekg (на нем работает DNS в CloufFlare, да).

Стягиваем модуль:
go get github.com/miekg/dns 
 Подключаем:

import "github.com/miekg/dns"
А вот простенький пример кода, который извлекает имя домена из пакета:
var msg dns.Msg
err = msg.Unpack(binary_date_payload)

if err != nil { // Send a FormatError back
//fmt.Println("Can't parse!", err)
continue
}

domain_name := strings.ToLower(msg.Question[0].Name)
fmt.Println(domain_name)



Комментариев нет :

Отправка комментария

Примечание. Отправлять комментарии могут только участники этого блога.