как узнать использует ли провайдер nat
Сетевой порт/Что такое NAT и как определить, находитесь ли вы за NAT
В Википедии имеется статья по теме «NAT»
Содержание
Что такое NAT [ править ]
NAT — Network Address Translation, трансляция сетевых адресов. Оригинал RFC 1631, RFC 3022. Перевод RFC 3022.
Ваш компьютер может быть подключен к Интернету:
Здесь NAT — это процесс трансляции локальных адресов во внешние. Благодаря этому процессу ваш компьютер получает доступ в Интернет.
NAT автоматически делает порты вашей машины недоступными из Интернета для прямого входящего соединения.
Находитесь ли вы за NAT [ править ]
IP-адрес компьютера [ править ]
Выберите команду главного меню Пуск > Выполнить. и наберите команду cmd
В появившемся командном окне выполните команду ipconfig
Первый из этих адресов — это IP-адрес вашего компьютера.
Default Gateway — адрес шлюза, он же маршрутизатор (роутер).
Subnet Mask определяет, какие адреса являются локальными (к ним компьютер будет обращаться напрямую), а какие нет (к ним обращение будет идти через маршрутизатор).
Выполните в терминале команду:
Локальный ли? [ править ]
Три специальных диапазона IP-адресов зарезервированы для локальных сетей и в Интернете не используются:
Четвертый диапазон предназначен для самоназначаемых IP-адресов; в случае если на компьютере настроен DHCP-клиент и ему не удалось получить IP-адрес, он берёт случайный адрес из этого диапазона. Эти адреса предназначены для передачи информации только в пределах одной физической сети (так называемые Link-local-адреса, см. RFC 3927).
Если IP-адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn — от 16 до 31), то это локальный (внутренний) адрес и вы точно находитесь за NAT.
Внешний ли? [ править ]
Эти сайты покажут вам адрес, под которым вас видят другие компьютеры в Интернете. Если он совпадает с IP-адресом вашего компьютера, то вы точно подключены к Интернету напрямую (то есть не за NAT) и дальше вам читать не нужно.
Остальные варианты [ править ]
В остальных случаях возможны такие варианты:
Во многих случаях вы можете определить, есть ли между вами и Интернетом прокси-сервер, пользуясь, например, сайтом lagado.com/proxy-test.
Подключение через прокси в этом руководстве пока не рассматривается.
Чей это NAT [ править ]
Если вы за NAT, то следующим шагом надо определить, где именно находится NAT-устройство.
Провайдеры [ править ]
Такую ситуацию описывают разными словами:
Проще всего позвонить провайдеру и узнать. Или спросить у соседей с таким же подключением. Обычно такой провайдер предоставляет дополнительную услугу — внешний («белый») IP-адрес за отдельную плату.
Без внешнего IP-адреса сделать себе доступный порт нельзя.
Дополнительно [ править ]
Ваш NAT [ править ]
В этом случае ваш внешний IP-адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить и получить доступный порт.
В качестве NAT может выступать компьютер, подключённый к Интернету напрямую; тогда ваш второй компьютер (для которого вам нужно открыть порт) получает доступ к Интернет через него с помощью встроенного в Windows ICS или сторонней программы, например, WinRoute. Про настройку порта в ICS смотрите тут или тут (обе ссылки на английском).
Но чаще это обычный домашний маршрутизатор, на настройке которого и фокусируется далее это руководство:
Двойной NAT [ править ]
К сожалению, иногда бывает и так, что NAT есть и у вас, и у провайдера, то есть ваш компьютер находится за двумя NAT сразу. Это можно проверить, зайдя в настройки маршрутизатора, посмотрев на его внешний (WAN) IP-адрес и далее следуя вышеописанному сценарию (принадлежит ли этот адрес диапазонам локальных сетей, совпадает ли он с тем адресом, под которым вас видят в Интернете).
Как узнать, нахожусь ли я за NAT? (РЕШЕНО)
Что такое NAT
NAT — это технология, которая позволяет множеству устройств выходить в Интернет используя один и тот же IP адрес. Кстати, в вашей локальной сети, в которой имеется роутер, уже применяется NAT — именно благодаря этому все ваши устройства могут выходить в Глобальную сеть и не нужно каждому из них иметь внешний IP.
Как вы понимаете, это часто используемая технология. Возможно, вы много лет ею пользуетесь, даже не зная про неё. Она действительно приносит очень много пользы, но у неё есть недостаток — она позволяет делать подключения «в одну сторону». То есть если ваш компьютер инициализировал подключение к Интернету, то он отправит его роутеру, роутер сделает две вещи: 1) запомнит, что запрос пришёл с определённого устройства и 2) отправить этот запрос в Интернет. Когда придёт ответ, роутер всё ещё «помнит», что этот запрос был сделан для определённого устройства в локальной сети, и отправит ответ именно этому устройству. И так происходит каждый раз.
Но вот если на роутер придёт новый сетевой запрос из Глобальной сети (не ответ на запрос, а именно новый запрос), то роутер банально не знает, для кого в локальной сети он предназначен (если не настроена переадресация портов). Поэтому с этим поступившим запросом роутер ничего не делает. Многие Интернет-провайдеры также используют NAT. И работа происходит по точно такому же принципу — ваши сетевые запросы уходят в Глобальную сеть и вы без проблем получаете сетевые ответы, но новые запросы из Интернета к вашему компьютеру не могут пройти через NAT.
Поэтому если вы хотите на своём домашнем компьютере запустить сетевой сервис (например, веб-сервер) и хотите, чтобы был доступен из Глобальной сети Интернет, то вам нужно убедиться, что вам компьютер не за NAT сетью Интернет-провайдера.
Как узнать, использует ли мой Интернет-провайдер NAT
На самом деле непросто с полной уверенностью сказать, находится ли компьютер за NAT, но есть косвенные признаки, позволяющие с высокой степенью вероятности утверждать, что Интернет-провайдер применяет NAT для своих пользователей.
Поиск локальных IP адресов в сетевом маршруте
С помощью трассировки маршрута можно узнать, через узлы с какими IP адресами проходит сетевой трафик.
Чтобы запустить трассировку маршрута в Windows откройте команду строку (для этого нажмите Win+x и выберите пункт «Windows PowerShell») и запустите команду:
Для запуска трассировки в Linux запустите команду:
Если среди IP адресов, через которые проходит сетевой трафик, вы увидите входящие в следующие диапазоны, то скорее всего вы находитесь за NAT:
На этом скриншоте сразу два IP адреса из указанных диапазонов: 192.168.1.1 и 10.128.0.1.
192.168.1.1 — это роутер (как было сказано выше, роутер также использует NAT, поэтому если вы подключаете свой компьютер к сети Интернет-провайдера через роутер, то вам нужно настроить проброску (форвардинг) портов.
А другой IP 10.128.0.1 принадлежит локальной сети Интернет-провайдера. Поскольку локальные (приватные) IP адреса являются немаршрутизируемыми, можно с высокой долей вероятности утверждать, что используется NAT.
На следующем скриншоте виден роутер и целых три локальных IP из диапазона 10.0.0.0/8. Опять же можно утверждать, что NAT используется.
На этом скриншоте виден роутер (192.168.1.1), но среди последующих IP отсутствуют локальные. Означает ли это, что Интернет-провайдер не использует NAT? Нет. Если есть присутствуют локальные IP адреса, то почти наверняка NAT есть, но если локальных нет, то NAT может быть, а может отсутствовать.
Поэтому нужно сделать ещё один тест.
Трассировка до себя
Сервис «Трассировка до себя» позволяет косвенно определить что Интернет-провайдер использует NAT.
На странице сервиса вы можете запустить трассировку от сервера до вашего компьютера. Результат трассировки позволит косвенно определить, использует ли ваш Интернет-провайдер NAT.
Если в результатах трассировки показываются все узлы, как на скриншоте ниже, то это означает, что у вас белый (внешний) IP адрес с вероятностью 100%.
Если же трассировка заканчивается строками
как на скриншоте ниже:
То это означает, что скорее всего ваш компьютер находится за NAT.
Но сказанное не всегда верно — трассировка может не показать узлы и по другим причинам, не только из-за NAT.
Заключение
Комбинируя эти два способа, можно с высокой степенью вероятности определять, используется ли NAT в вашем сетевом подключении.
О NAT’ах, жадных провайдерах и нечестных пользователях
Маленький ликбез на тему методов обнаружения спрятанных за NAT локальных сетей с точки зрения провайдера.
В разделе Сети и средства коммуникации Форума 3DNews, к которому я имею некоторое отношение, с завидной регулярностью появляются вопросы вроде такого: «Провайдер в договоре запрещает установку маршрутизатора, а у меня дома компьютер, ноутбук, игровая приставка и кофеварка, требующая подключения к интернету. Как же мне быть? Как подключить всё это к интернету и не платить за каждое подключение?».
А наиболее распространённый ответ (среди вообще толковых ответов, разумеется) по смыслу примерно таков: «Ставь роутер, клонируй MAC-адрес компьютера, настраивай на нём подключение и не парься, провайдер не узнает».
Так вот, плохая новость в том, что провайдер захочет – провайдер узнает. Зато хорошая новость – до вашей кофеварки с интернетом, подключенной вместе с компьютером через домашний маршрутизатор, провайдеру, скорее всего, и дела нет. Не интересно это ему. А теперь давайте разберёмся по порядку.
Внесение провайдером в договор пункта о запрете использования клиентом NAT’а (и proxy вообще) чаще происходит не из-за патологической жадности провайдера, желающего заработать денег на подключении каждого устройства в нашей квартире, даже интернет-кофеварки, которая и трафика-то потребляет всего-ничего ;). А является, на самом деле, попыткой защититься от перепродавцов трафика, просто неправильно, с точки зрения специалиста по сетям, сформулированной.
Нет, я не утверждаю, что таких жадных провайдеров не существует, но предоставим таким решать самим, что им делать – меняться или потихоньку вымирать, оставляя рынок более вменяемым конкурентам, которые, обнаружив у клиента NAT, не будут жёстко требовать объяснений, денег и отключать почём зря, а спокойно разберутся и оставят в покое. Клиент-то, может, и знать не знает ни про какой NAT, а просто, как вариант, на единственном компьютере с прямым подключением установил виртуальную машину, чтоб в древнюю игрушку поиграть, или там роутер с Wi-Fi купил, чтоб тёща с ноутбука на кухне могла в интернете кулинарные рецепты искать, а тут на тебе.
Другое дело хитрые алчные пользователи, приобретающие пакет услуг для физических лиц (а тарифные планы для физлиц зачастую в разы дешевле, чем для юридических), и начинающие подключать направо и налево друзей, соседей и просто вон того дядю из соседнего дома за 500 рублей в месяц наличными.
Прежде всего, клиент у провайдера не один. И как себя в среднем ведут клиенты в Сети, провайдер прекрасно знает. Любые заметные отклонения, будь то значительный трафик, или генерация большого количества http-запросов в единицу времени могут вызвать подозрения. И тогда специалист провайдера, вооружившись знаниями, может приступить к сбору улик.
Не секрет, что многие proxy-серверы модифицируют http-запросы, явно обнаруживая своё присутствие. Отловить некоторое количество запросов и подтвердить наличие такого proxy провайдеру не составит большого труда. Однако одного этого факта для доказательства вины клиента явно недостаточно. Приведу собственный пример. По некоторым причинам я на своём компьютере время от времени пользуюсь четырьмя различными браузерами. К счастью, цены на безлимитный интернет падают, а скорости растут, но во времена, когда я по экономическим соображениям пользовался подключением с довольно низкоскоростным тарифным планом, для оптимизации трафика у меня на компьютере был локально установлен кэширующий proxy-сервер Squid (к тому же с прикрученной к нему баннерорезкой), а разные браузеры были настроены на его использование.
Если речь не идёт о каких-то специальных сервисах с заранее предопределённым диапазоном портов источника, задача по выбору порта источника для отправки, например, TCP или UDP дейтаграммы, возложена на операционную систему. Во-первых, разные операционные системы по-умолчанию используют разные диапазоны динамических портов и разные способы выбора исходящего порта. И если NAT (точнее, в данном случае, NPAT, но все уже привыкли говорить просто NAT) при модификации пакета сохраняет порт источника, сбор и анализ статистики по исходящим портам может помочь выявить существование за NAT’ом хостов с различными операционными системами. Во-вторых, не все устройства с NAT сохраняют порт источника, есть и такие, что меняют его случайным образом на номер порта из заданного диапазона, что так же может быть выявлено статистикой.
Заголовок IP пакета содержит поле TTL (Time To Live). Значение поля TTL уменьшается при прохождении каждого промежуточного узла сети. Значения, по умолчанию присваиваемые полю TTL различными операционными системами известны, и уменьшение этого значения в пакетах, попавших в сеть провайдера однозначно укажет на присутствие шлюза.
В заголовке IP-пакета присутствует заполняемое хостом-отправителем поле Identification, предназначенное для правильной сборки фрагментов дейтаграммы. Распространённые сейчас операционные системы очень просто создают значение для поля Identification – генерируют случайное число, а для каждого следующего пакета увеличивают его на единицу. Проанализировав поля Identification в заголовках пакетов проходящего трафика и обнаружив большой разброс случайных значений, можно предположить, что трафик создаётся далеко не одной машиной.
Реализации стека протоколов TCP/IP в различных операционных системах имеют некоторые отличия. К ним относятся уже упомянутые алгоритм выбора номера исходящего порта и значение поля TTL по-умолчанию, а так же начальный размер TCP window и другие. Анализируя проходящий сетевой трафик и обнаружив в нём особенности, характерные для разных ОС, можно сделать предположение, что за NAT’ом находятся и работают несколько компьютеров с разными операционными системами.
Quod erat demonstrandum
Но и это ещё не всё. В принципе провайдер может пойти дальше, и начать с целью анализа расковыривать проходящие пакеты до прикладного уровня, хотя такие действия со стороны провайдера уже выглядят, по меньшей мере, очень некрасиво. А многие приложения могут включать в передаваемые данные информацию об адресах локальных сетевых интерфейсов. Особенно могут грешить этим instant messenger’ы и программы для голосового общения. Или вот ещё пример, почтовый протокол SMTP. Начиная почтовую сессию, многие почтовые клиенты после команды EHLO (или HELO) представляются локальным именем хоста. А где разные имена при соединении с одного адреса, там и NAT.
Каждый из перечисленных методов обнаружения NAT не идеален, и для грамотного провайдера однозначным доказательством злого умысла с вашей стороны не будет. Но вот взятые все вместе…
В общем, к чему был весь этот текст? Если однажды к вам в почтовый ящик упадёт письмо от провайдера с напоминанием про соответствующий пункт договора и просьбой прокомментировать подозрения в его нарушении, не стоит отпираться, что вы знать не знаете никаких NAT’ов и с компьютером только недавно познакомились. Провайдер знает. См. выше. Всё, что им нужно, это убедиться, что вы не занимаетесь перепродажей трафика. Кстати, если вы скинулись на интернет с соседом, и заключили договор на одного из вас – с точки зрения провайдера это таки перепродажа. А если вы ничего такого не делали, но провайдер упорствует – что ж, значит вам попался один из ещё выживших жадных динозавров, и пришло время провайдера сменить.
Статьи » Недоступный порт » 3. NAT
Что такое NAT
Ваш компьютер может быть подключен к интернету напрямую. Тогда говорят, что у него внешний IP адрес.
Обычно это значит, что компьютер подключен сразу к модему (DSL, кабельному или обычному аналоговому).
За NAT означает, что ваш компьютер подключен не к интернету, а к локальной сети. Тогда у него внутренний IP адрес, из интернета сам по себе недоступный.
Специфика работы NAT такова, что соединения, инициируемые вашим компьютером, прозрачно проходят через NAT-устройство в интернет. Однако соединения, которые хотели бы с вами установить другие компьютеры из интернета, до вас дойти не могут.
Находим IP адрес компьютера
Запуск программы | |
Введите имя прогр ресурса Интернета | |
Открыть: | cmd /k ipconfig |