This is the setup we have - we have an application running on a Windows 10 machine that sends TCP traffic to another Windows 10 machine. The 2 machines are in the same subnet but are not in a domain. Neither are allowed access to the internet.
We need to encrypt the traffic between the 2 machines to prevent a 'man in the middle attack'. Can you please advise on the best method to achieve this? We can use third party software but cannot change our application. The current method we're exploring is an IPsec tunnel between the machines but have yet to get this to work.
I agree with John. Doing attacks that can do without the switch mirroring port is not easy and will definitely be noticed at the client due to a massive slowdown not only of network traffic but of also of working on the machine. The risk is low when there's no accessible mirroring port involved.
Of course you could also go another route: install wifi cards into the machines and use wireless encryption, give the key to no one else
If the machines are less than 100m you can use a crossover cable to connect between them and do some kind on enclosing so none has access (at least without causing severe and noticeable damage)