diff --git a/component/sniffer/dispatcher.go b/component/sniffer/dispatcher.go index 2d78fcdf..a712c1f0 100644 --- a/component/sniffer/dispatcher.go +++ b/component/sniffer/dispatcher.go @@ -46,14 +46,18 @@ func (sd *SnifferDispatcher) TCPSniff(conn net.Conn, metadata *C.Metadata) { return } + inWhitelist := false for _, portRange := range *sd.portRanges { - if !portRange.Contains(uint16(port)) { - return - } else { + if portRange.Contains(uint16(port)) { + inWhitelist = true break } } + if !inWhitelist { + return + } + if host, err := sd.sniffDomain(bufConn, metadata); err != nil { log.Debugln("[Sniffer] All sniffing sniff failed with from [%s:%s] to [%s:%s]", metadata.SrcIP, metadata.SrcPort, metadata.String(), metadata.DstPort) return