Как найти порт ответа NAT

Как найти порт ответа NAT

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

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

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

решение1

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

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

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

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

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

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

 show ip nat trans

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

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

Связанный контент