diff --git a/win/gatuna-client/TunnelLink.cs b/win/gatuna-client/TunnelLink.cs index 12b3dfa..4880303 100644 --- a/win/gatuna-client/TunnelLink.cs +++ b/win/gatuna-client/TunnelLink.cs @@ -50,6 +50,11 @@ sealed class TunnelLink : IDisposable var et = (ushort)(data[12] << 8 | data[13]); if (et != Proto.EtherType) return; + // Skip our own outgoing frames (Npcap loops them back in promiscuous mode). + if (data[6] == _ourMac[0] && data[7] == _ourMac[1] + && data[8] == _ourMac[2] && data[9] == _ourMac[3] + && data[10] == _ourMac[4] && data[11] == _ourMac[5]) + return; var srcMac = new byte[6]; Buffer.BlockCopy(data, 6, srcMac, 0, 6); var payload = data.AsSpan(Proto.EthHeaderLen);