безопасность клиентских временных портов и возможность разнородных IP-маршрутов между клиентом и сервером

399
user1748155

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

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

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

0

1 ответ на вопрос

1
Spiff

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

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

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

Согласовано. В моем (кратком) тестировании распределения портов источника вызов bind () создает сокет с использованием инкрементальных портов источника (с шагом в два), тогда как connect () случайным образом выбирает доступный порт из эфемерного диапазона. MarkoPolo 7 лет назад 0
Так что, если ответный пакет может проходить по разным маршрутам, я думаю, он должен быть возвращен с того же IP-адреса? Просто интересно, могу ли я иметь сервер с двумя интерфейсами Ethernet, один из которых подключен к медленному, но более дорогому статическому IP, а второй - к быстрому, более дешевому, но иногда динамическому IP-адресу, что позволяет клиентскому запросу входить на статический IP-адрес, но затем ответить на динамический IP-адрес? user1748155 7 лет назад 0

Похожие вопросы