Skip to content

Commit

Permalink
pcap: fix QueryTimeSec,Nsec,ResponseTimeSec,Nsec
Browse files Browse the repository at this point in the history
  • Loading branch information
mimuret committed Nov 15, 2023
1 parent e3ba720 commit 607360b
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions pkg/plugin/input/pcap/pcap.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"bytes"
"context"
"net"
"time"

dnstap "github.com/dnstap/golang-dnstap"
"github.com/goccy/go-json"
Expand Down Expand Up @@ -206,6 +207,9 @@ func (p *PCAP) handlePacket(ic *types.InputContext, packet gopacket.Packet) {
ic.Logger.Debug("unknown TransportLayer")
return
}
timeNow := time.Now()
timeSec := uint64(timeNow.Unix())
timeNsec := uint32(timeNow.Nanosecond())
if send {
if srcPort == uint32(53) {
// resolver:53 -> client:***
Expand All @@ -215,6 +219,8 @@ func (p *PCAP) handlePacket(ic *types.InputContext, packet gopacket.Packet) {
dm.QueryPort = &dstPort
dm.ResponseAddress = src
dm.ResponsePort = &srcPort
dm.QueryTimeSec = &timeSec
dm.QueryTimeNsec = &timeNsec
} else {
// resolver:*** -> auth:***
dm.Type = dnstap.Message_RESOLVER_QUERY.Enum()
Expand All @@ -223,6 +229,8 @@ func (p *PCAP) handlePacket(ic *types.InputContext, packet gopacket.Packet) {
dm.QueryPort = &srcPort
dm.ResponseAddress = dst
dm.ResponsePort = &dstPort
dm.ResponseTimeSec = &timeSec
dm.ResponseTimeNsec = &timeNsec
}
} else {
if dstPort == uint32(53) {
Expand All @@ -233,6 +241,8 @@ func (p *PCAP) handlePacket(ic *types.InputContext, packet gopacket.Packet) {
dm.QueryPort = &srcPort
dm.ResponseAddress = dst
dm.ResponsePort = &dstPort
dm.ResponseTimeSec = &timeSec
dm.ResponseTimeNsec = &timeNsec
} else {
// auth:53 -> resolver:***
dm.Type = dnstap.Message_RESOLVER_RESPONSE.Enum()
Expand All @@ -241,6 +251,8 @@ func (p *PCAP) handlePacket(ic *types.InputContext, packet gopacket.Packet) {
dm.QueryPort = &dstPort
dm.ResponseAddress = src
dm.ResponsePort = &srcPort
dm.QueryTimeSec = &timeSec
dm.QueryTimeNsec = &timeNsec
}
}

Expand Down

0 comments on commit 607360b

Please sign in to comment.