1

Я понимаю, что эфемерный порт в паре сокетов - это случайный номер порта, который клиент выбирает для ответа сервера. В случае, когда связь происходит в локальной сети, и у клиента нет брандмауэра, возможно ли, чтобы в локальной сети был другой процесс, который использует эфемерный порт в качестве открытой точки атаки, когда соединение открыто с сервером?

В случае, если клиент и сервер не находятся в одной подсети, возможно ли отправка данных обратно в эфемерный порт по другому маршруту, чем они получены на сервере? Существуют ли в интернет-протоколе правила, которые конкретно требуют использования одного и того же маршрута для связи в обоих направлениях?

Изменится ли ответ на мои вопросы при использовании TCP или UDP?

1 ответ1

1

Эфемерный порт не гарантированно является случайным как таковым. Они могут быть распределены последовательно.

Да, другое устройство в локальной сети может попытаться отправить пакеты на этот открытый эфемерный порт, возможно, даже подделав IP-адрес источника сервера, с которым общался клиент. Это проще сделать с помощью UDP, чем с TCP, потому что с TCP вам нужно получить правильные номера последовательностей и Ack. Но это все еще выполнимо с TCP.

Да, пакетам в одном и том же потоке TCP или UDP разрешено использовать разные маршруты. Таким образом, маршрутизаторы могут быть осторожны с перегруженными ссылками и ссылками, которые вышли из строя или появятся.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .