diff --git a/pkg/core/gvisortunendpoint.go b/pkg/core/gvisortunendpoint.go index f6849baa..0c5cf101 100755 --- a/pkg/core/gvisortunendpoint.go +++ b/pkg/core/gvisortunendpoint.go @@ -107,6 +107,7 @@ func (h *gvisorTCPHandler) readFromTCPConnWriteToEndpoint(ctx context.Context, c Data: buf[:], }, func(v *DatagramPacket) { config.LPool.Put(v.Data[:]) + plog.G(context.Background()).Errorf("Drop packet, SRC: %s, DST: %s, Length: %d", src, dst, v.DataLength) }) continue } diff --git a/pkg/core/tcphandler.go b/pkg/core/tcphandler.go index a27b1245..cb48e8fd 100644 --- a/pkg/core/tcphandler.go +++ b/pkg/core/tcphandler.go @@ -71,8 +71,8 @@ func (h *UDPOverTCPHandler) Handle(ctx context.Context, tcpConn net.Conn) { return } - var src net.IP - src, _, err = util.ParseIP(packet.Data[:packet.DataLength]) + var src, dst net.IP + src, dst, err = util.ParseIP(packet.Data[:packet.DataLength]) if err != nil { plog.G(ctx).Errorf("[TCP] Unknown packet") config.LPool.Put(buf[:]) @@ -89,6 +89,7 @@ func (h *UDPOverTCPHandler) Handle(ctx context.Context, tcpConn net.Conn) { } util.SafeWrite(h.packetChan, packet, func(v *DatagramPacket) { config.LPool.Put(v.Data[:]) + plog.G(context.Background()).Errorf("Drop packet, SRC: %s, DST: %s, Length: %d", src, dst, v.DataLength) }) } } diff --git a/pkg/core/tunhandler.go b/pkg/core/tunhandler.go index 7e71165b..fe9134b9 100644 --- a/pkg/core/tunhandler.go +++ b/pkg/core/tunhandler.go @@ -104,6 +104,7 @@ func (d *Device) readFromTUN(ctx context.Context) { dst: dst, }, func(v *Packet) { config.LPool.Put(v.data[:]) + plog.G(context.Background()).Errorf("Drop packet, SRC: %s, DST: %s, Length: %d", v.src, v.dst, v.length) }) } } diff --git a/pkg/core/tunhandlerclient.go b/pkg/core/tunhandlerclient.go index b9be23d0..fba2a459 100644 --- a/pkg/core/tunhandlerclient.go +++ b/pkg/core/tunhandlerclient.go @@ -96,6 +96,7 @@ func transportTunPacketClient(ctx context.Context, tunInbound <-chan *Packet, tu if packet.src.Equal(packet.dst) { util.SafeWrite(tunOutbound, packet, func(v *Packet) { config.LPool.Put(v.data[:]) + plog.G(context.Background()).Errorf("Drop packet, SRC: %s, DST: %s, Length: %d", v.src, v.dst, v.length) }) continue } @@ -120,6 +121,7 @@ func transportTunPacketClient(ctx context.Context, tunInbound <-chan *Packet, tu } util.SafeWrite(tunOutbound, &Packet{data: buf[:], length: n}, func(v *Packet) { config.LPool.Put(v.data[:]) + plog.G(context.Background()).Errorf("Drop packet, LocalAddr: %s, Remote: %s, Length: %d", packetConn.LocalAddr(), remoteAddr, v.length) }) } }() @@ -155,6 +157,7 @@ func (d *ClientDevice) readFromTun(ctx context.Context) { plog.G(context.Background()).Debugf("[TUN-CLIENT] SRC: %s, DST: %s, Length: %d", src.String(), dst, n) util.SafeWrite(d.tunInbound, NewPacket(buf[:], n, src, dst), func(v *Packet) { config.LPool.Put(v.data[:]) + plog.G(context.Background()).Errorf("Drop packet, SRC: %s, DST: %s, Length: %d", v.src, v.dst, v.length) }) } }