Например, мой HTTP- port 80 открыт и сопоставлен маршрутизатором с port 42300 обращенным наружу.

Есть ли способ определить, скажем, мой port 150 который открыт для подключения, сопоставлен с каким внешним портом без доступа к маршрутизатору?

Я понимаю, что смогу установить, как маршрутизатор сопоставляет определенные внутренние порты вручную с внешними портами, которые я хочу.

2 ответа2

1

Не легко, хотя вы должны пересмотреть, как вы это визуализируете. Более полезно визуализировать это с другой стороны, так как мы смотрим на входящие соединения - вот почему это называется переадресацией портов:

Порты открываются на общедоступном IP-адресе маршрутизатора и перенаправляются на адрес и порт внутреннего ресурса.

Таким образом, ваш маршрутизатор имеет открытый порт 42300 и прослушивает этот порт по общедоступному IP-адресу и будет переадресовывать все входящие соединения на порт 80 на внутреннем сервере.

Поэтому ваш вопрос лучше сформулировать как «Как я могу определить, какой порт на моем маршрутизаторе перенаправляется на порт 150 на моем внутреннем сервере». Из-за того, как это работает, соединение должно быть инициировано из внешнего источника на общедоступный IP-адрес на правильном порту.

Поскольку вы не знаете правильный порт и не можете получить доступ к маршрутизатору, чтобы увидеть, что это такое, то единственный вариант - это попробовать их все и посмотреть, через какой из них происходит соединение.

Вы можете использовать инструмент Nmap , чтобы сделать это.

1

См. Ответ Пола для объяснения концепции переадресации портов.

Если вы как-то ранее не говорили с кем-то, управляющим роутером (это владелец?) чтобы перенаправить что-то на порт 150 на вашем компьютере, и они не сообщили вам о том, какой порт они выбрали, ответ, скорее всего, удивительно прост: ни один из портов на маршрутизаторе не перенаправляется на ваш компьютер.

(Если это не так, вы можете найти открытые порты с помощью nmap , как предложил Пол, а затем просто протестировать всех кандидатов с помощью приложения, которое вы хотите использовать.)

В (что недавно стало, к сожалению многих) общей клиентской настройке, нет необходимости в том, чтобы порты на большинстве компьютеров были доступны из большей части Интернета, и во многих случаях это было бы приглашением для вредоносных программ и взлом для операционных систем со слабыми механизмами безопасности. Таким образом, был изобретен межсетевой экран , который с тех пор был заменен в некоторых настройках устройствами NAT (часто называемыми "домашними маршрутизаторами").

Устройства NAT в принципе позволяют многим компьютерам получать доступ к Интернету через него из локальной сети, но, как правило, не пропускают трафик в противоположном направлении, если порт явно не перенаправлен на определенный компьютер в локальной сети.

Существует конечное число (iirc 2 ^ 16-1) портов {tcp, udp} для данного IP-адреса, поэтому даже если брандмауэрская часть маршрутизатора была нежелательной, она не сможет открыть все порты на каждом компьютере на компьютере. локальная сеть (в принципе это может быть 2 ^ 24-1 устройства для сети 10.0.0.0/8), если только не подключен только один компьютер. По умолчанию практически всегда не переадресованы порты.

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