Обратите внимание, что в сеансах TCP и UDP существует два порта. Исходный порт и порт назначения. Так что легче обсуждать NAT , когда вы обращаетесь к порту направляется и порт, посылаемые.
Так, например, когда вы отправляете запрос на веб-сервер, он отправляется на порт 80, а с эфемерного порта - тот, который открыт на время соединения - выше 1024. В вашем примере, если читать правильно, порт источника 5555. Этот порт принадлежит приложению, выполняющему запрос, и является уникальным для этого приложения, пока запрос не будет завершен. Никакое другое соединение не может быть установлено с того порта источника на этом компьютере, пока он все еще активен.
Обычно веб-сервер получает запрос на порт 80 и отправляет ответ на порт 5555 и с порта 80.
Если задействован NAT, в частности, PAT - трансляция адресов портов, когда многие устройства должны использовать один общедоступный IP-адрес, исходный порт, который каждое используемое устройство не может рассматривать как уникальный, - две машины могут использовать порт 5555 в качестве порта-источника, и поэтому неясно, куда отправлять ответные пакеты, как только они поступят на маршрутизатор обратно с веб-сервера.
Таким образом, в дополнение к изменению IP-адреса источника на публичный адрес маршрутизатора во время NAT, порт источника также изменяется на порт, который является уникальным с точки зрения маршрутизаторов. Это поддерживается в таблице состояний. Любые ответные пакеты будут поступать с веб-сервера на порт, выбранный маршрутизатором, а затем NAT будет отменен и передан на внутреннее устройство с использованием открытого порта.
Очень немногие внутренние маршрутизаторы позволят вам увидеть таблицу состояний. На маршрутизаторах Cisco вы можете сделать
show ip nat trans
Это покажет список всех действующих NAT.
Единственный другой способ - проверить исходящие соединения от маршрутизатора - для этого потребуется, чтобы трафик проходил через устройство, которым вы управляете, что опять-таки маловероятно в домашних условиях.