Я работаю над приложением Windows Server, которое передаст конфиденциальную информацию другому серверу Windows через сокет, используя HTTPClient. Предполагается, что серверы будут настроены на использование IPSec. Так что, я не должен ничего делать, чтобы настроить безопасное соединение на уровне приложения. Тем не менее, мне было поручено убедиться, что если соединение использует IPSec и прервано, если это не так.Как определить, использует ли подключенный сокет IPSec?
Как я могу программно определить, действительно ли соединение действительно защищено IPSec? Приложение - C#, на Windows Server 2016. Я открыт для решений на основе P/Invoke или кода C, если это необходимо для выполнения этой работы. До тех пор, пока он может в конечном итоге работать с классом HttpClient класса C#.
Вы можете проверить, есть ли активный IPSec-туннель, но вы не сможете убедиться, что ваш сокет подключен через него. – galister
ну, я уверен, вы могли бы попытаться добавить много хакеров; Я никогда не устанавливал ipsec на Widows, но в Linux вы можете получить список подключений, я думаю, и попытаться выяснить, является ли ваше соединение одним из них на основе портов #s, но это просто неправильно. –
Порт соединения IPSec, но не порт назначения инкапсулированных пакетов, который, в конечном итоге, окажется конечной точкой .NET. – galister