1234567891011121314151617181920212223242526272829303132333435 |
- package handler
- import (
- "ehang.io/nps/lib/enet"
- "ehang.io/nps/lib/logger"
- "github.com/miekg/dns"
- "go.uber.org/zap"
- )
- type DnsHandler struct {
- DefaultHandler
- }
- func (dh *DnsHandler) GetName() string {
- return "dns"
- }
- func (dh *DnsHandler) GetZhName() string {
- return "dns协议"
- }
- func (dh *DnsHandler) HandlePacketConn(pc enet.PacketConn) (bool, error) {
- b, _, err := pc.FirstPacket()
- if err != nil {
- logger.Warn("firstPacket error", zap.Error(err))
- return false, nil
- }
- m := new(dns.Msg)
- err = m.Unpack(b)
- if err != nil {
- logger.Debug("parse dns request error", zap.Error(err))
- return false, nil
- }
- return dh.processPacketConn(pc)
- }
|