Работает ли NAT следующим образом?

Мой компьютер 192.168.1.5 отправляет запрос на порт:5555 (например), этот запрос направляется на мой маршрутизатор. 194.564.23.67 (public ip), NAT изменяет порт и перенаправляет запрос и порт и ожидает ответа от целевого IP на этом порт.

Есть ли способ определить с моего компьютера 192.168.1.5, на каком порту маршрутизатор ожидает ответа.

1 ответ1

0

Обратите внимание, что в сеансах TCP и UDP существует два порта. Исходный порт и порт назначения. Так что легче обсуждать NAT , когда вы обращаетесь к порту направляется и порт, посылаемые.

Так, например, когда вы отправляете запрос на веб-сервер, он отправляется на порт 80, а с эфемерного порта - тот, который открыт на время соединения - выше 1024. В вашем примере, если читать правильно, порт источника 5555. Этот порт принадлежит приложению, выполняющему запрос, и является уникальным для этого приложения, пока запрос не будет завершен. Никакое другое соединение не может быть установлено с того порта источника на этом компьютере, пока он все еще активен.

Обычно веб-сервер получает запрос на порт 80 и отправляет ответ на порт 5555 и с порта 80.

Если задействован NAT, в частности, PAT - трансляция адресов портов, когда многие устройства должны использовать один общедоступный IP-адрес, исходный порт, который каждое используемое устройство не может рассматривать как уникальный, - две машины могут использовать порт 5555 в качестве порта-источника, и поэтому неясно, куда отправлять ответные пакеты, как только они поступят на маршрутизатор обратно с веб-сервера.

Таким образом, в дополнение к изменению IP-адреса источника на публичный адрес маршрутизатора во время NAT, порт источника также изменяется на порт, который является уникальным с точки зрения маршрутизаторов. Это поддерживается в таблице состояний. Любые ответные пакеты будут поступать с веб-сервера на порт, выбранный маршрутизатором, а затем NAT будет отменен и передан на внутреннее устройство с использованием открытого порта.

Очень немногие внутренние маршрутизаторы позволят вам увидеть таблицу состояний. На маршрутизаторах Cisco вы можете сделать

 show ip nat trans

Это покажет список всех действующих NAT.

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

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