Как узнать ip тонкого клиента

Обновлено: 06.07.2024

IP-адреса — это цифровые идентификаторы, с помощью которых устройства могут находить друг друга в интернете или локальных сетях и обмениваться данными. Поэтому каждый подключённый компьютер или мобильный девайс получает свой IP.

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

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

Как узнать внешний (публичный) IP-адрес

Быстро посмотреть свой внешний IP с компьютера или мобильного устройства можно на одном из специальных сайтов вроде 2IP, WhatIsMyIP и IP-Ping. Зайдя на любой из них, вы сразу увидите внешний IP (он же Public IP) на самом видном месте.

Устройства, которые выходят в интернет через один роутер, имеют общий внешний IP.

Как узнать внутренний (локальный) IP-адрес

С внутренними IP-адресами всё немного сложнее: на каждой платформе их проверяют по-разному.

Как узнать IP-адрес в Windows

Найдите через поиск по системе утилиту «Командная строка». Кликните по её значку правой кнопкой мыши и запустите от имени администратора. В открывшемся окне введите команду ipconfig и нажмите Enter. На экране появятся данные, среди которых должна быть строка IPv4. Рядом с ней вы увидите код формата 192.168.1.40 — это и есть внутренний IP-адрес компьютера.

Как узнать IP-адрес в macOS

Чтобы посмотреть IP-адрес в macOS, достаточно зайти в раздел «Системные настройки» → «Сеть» и выбрать на боковой панели текущее соединение. Внутренний IP-адрес Mac отображается под статусом подключения.

Как узнать IP-адрес в Android

Внутренний IP-адрес Android-устройства обычно доступен в разделе с настройками Wi-Fi. Интерфейс на разных аппаратах может сильно отличаться, но вы наверняка без особого труда найдёте нужное меню самостоятельно. Если нет — можете установить бесплатную программу IP Tools. Она отобразит внутренний и внешний IP-адреса сразу после запуска.



Как узнать IP-адрес в iOS

На iPhone или iPad внутренний IP можно легко найти в разделе с параметрами Wi-Fi. Достаточно нажать на круглую иконку рядом с активным беспроводным соединением, и в следующем меню появится IP.

Как узнать чужой IP-адрес

Вы можете узнать внешний IP другого пользователя Сети (например, чтобы определить его приблизительное местоположение) с помощью сервиса IP Logger. Но для этого необходимо, чтобы человек кликнул по созданной вами ссылке.

Сначала создайте URL, который позволит вам узнать чужой IP. Для этого перейдите на сайт IP Logger и в блоке «Ссылка / Картинка» вставьте URL на любую страницу или изображение. Это может быть, к примеру, ссылка на новость или статью. Затем кликните «Получить код логгера». В следующем окне скопируйте адрес из поля «Ваша ссылка для сбора IP-адресов» и запомните свой ID в системе.

Когда пользователь кликнет по ссылке, IP Logger просто откроет для него целевую страницу, а для вас сохранит чужой IP. Последний можно будет посмотреть на сайте сервиса: достаточно ввести свой ID на главной странице IP Logger в блоке «Просмотр логгера».

Не забывайте, что пользователь может выходить в интернет через прокси или VPN. В таком случае узнать его настоящий IP-адрес не выйдет.

Если же вас интересует, как узнать IP-адрес роутера, можете ознакомиться с другим материалом Лайфхакера.

Время ролика: 19:50


Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

1. Имя сервера

Создадим страницу (у меня это index.php) и напишем в нее следующий код:

2. Откуда пришел пользователь

3. Информация о клиенте


Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Определение IP-адреса клиента

Данные из этой формы будут передаваться методом POST, в качестве обработчика данных мы указали файл index.php (детально обо всем этом я рассказываю в мини-курсе по созданию полноценной формы обратной связи). На странице index.php давайте будем принимать эти данные и выводить их:

Здесь мы проверили, была ли нажата кнопка формы и, если она нажата, мы выводим то, что получили в качестве имени. А ниже мы прописали ссылку на ту страницу, откуда пришли, т.е., на страницу с формой. Об условиях, глобальном массиве $_POST и прочих вещах, которые мы только что использовали, я также детально рассказывал в мини-курсе по созданию формы обратной связи. Мы все делаем максимально упрощенно, без особых проверок, поскольку целью урока является простая передача IP-адреса клиента и не больше.

Итак, имя мы получаем. Теперь осталось передать скрытно от пользователя его IP-адрес. Для этого допишем на странице с формой еще одно поле, типом которого укажем hidden (т.е., скрытое), а в качестве его значения укажем элемент REMOTE_ADDR:

< input type = "hidden" name = "ip" value = " <?php echo $_SERVER [ 'REMOTE_ADDR' ] ; ?> " / >

Интерпретатор PHP в качестве значения скрытого поля прописал IP-адрес клиента, который и будет отправлен на страницу index.php, и этот адрес будет находиться в переменной ip глобального массива $_POST. Осталось дописать вывод в файле index.php:

Вот, в принципе, и все. Вот так вот просто при помощи элементов массива $_SERVER мы можем получить массу служебной информации, которую затем можем использовать в своих веб-приложениях. Мы рассмотрели только пять элементов массива $_SERVER, на самом деле их, как уже говорилось выше, гораздо больше и без них часто сложно организовать функционирование достаточно серьезного проекта.

На этом, урок по определению IP-адреса компьютера окончен. До новых встреч!


Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока


Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (81)

Посмотрите whois. Как вариант.

Ну узнаем мы к какому региону и провайдеру принадлежит ай-пишник и что дальше? Побежим в мили.. сорри полицию строчить заявление? Никто и никогда нам никаких сведений о физ лице не даст, только на смех поднимут. Наиболее разумный и действенный вариант это блокировка по ip. Это, конечно, не панацея, но на какое-то время может помочь. Собственно хотелось бы увидеть скрипт, позволяющий блокировать некоторый диапазон ip адресов.

p.s. whois показывает частенько такой бред

Да это было бы оч полезно. У джумлы стандартный модуль голосования (и сторонние расширения для комментов) все эти функции содержит. Но хотелось бы и ручками научицца. Ждем новых уроков. Спсб.

Можно блокировку сделать в файле htaccess по маске.я так целую страну отсек от своего сайта.Хотя человек может через анонимайзер зайти,может Вы что подскажите как определить что используется анонимайзер или софт по смене ip?

А что вы сразу про полицию? Она же теперь хорошая! Не то что старая милиция!
Если по существу, определить город/регион имеет смысл, например для того что бы показывать организации/фирмы только того города/региона откуда поступил запрос. Это актуально для каталогов.

Эрли, напишите в файле *.php следующее: print_r($_SERVER);
Сохраните страничку и затем обновите )) И кое ,что из, многого, Вам станет ясно в этой жизни
Успехов в учёбе .

Geotargeting прикрутить можно.
(правда ловить будет, лишь крупные населённые пункты.)

мне надо узнать с какого ip совершали записи в опред.аккаунт телеграм опред.числа

А как скрыть свой IP

Как всегда очень интересный и нужный урок.
Ребята, если, конечно можно, опубликуйте урок как скачивать файлы с сайта?
Вверху этой странички есть ссылка, по которой мы скачиваем уроки, расскажите, как мы сам можем организовать такую же.

Супер. Раньше я пользовался сторонними сервисами размещая их скрипт у себя, тем саммым засоряя лишними ссылками свой сайт, да и бывало что он был не доступен.

Здравствуйте! Хочу Вас поблагодарить за проделанную работу. Мой вопрос может показаться глупым но я по сути еще чайник. У меня тариф безлимит и это предполагает динамический AP. То-есть он дается на 3-4 дня потом другой и так далее, полчается можно вычислить только регион?

А как насчёт левых прокси. Можно вычислить адрес?

Не судите строго, пишу первый раз. Хотя и были попытки до этого, но так не разу не опубликовал.

И так есть самописная конфигурация на Платформе 8.3 с кусками БСП, в ней реализован некий web сервис для клиентов компании.

В web сервисе есть графический интерфейс для работы из браузера и rest api.

Была поставлена задача определять IP адрес клиента в независимости от того как он подключился к сервису.

Помогли в решении эти посты:

И так у нас два варианта подключения. Начнем пожалуй с самого простого и быстрого получить IP при подключении через REST API.

Apache знает IP клиента, и мы можем поместить это адрес в некую переменную.

Для этого нам нужно:

в файле конфигурации Apache раскомментировать строки

И мы сохраняем в параметры сеанса, так как пока сеанс жив то нет смысла обновлять IP.

С эти всё оказалось просто. Но есть второй случай когда клиент не использует REST API, а заходит через web клиент.

Как узнать внешний IP клиента?

Мы решили так, пусть клиент сам нам скажет свой IP.

Но просить его писать это в поле ещё и смотреть в интернете было бы странно.

Значить это должно сделать за него 1С.

Решение приведенное ниже не является красивым, и работает не во всех 100% случаев (об этом ниже).

Если сделать пару допущений, то станет ясно, что все не так плохо:

Допущение №1 - скорость выполнения обработки достаточно высокая, чтобы пользователь ее не заметил В толстом и тонком клиенте выполнение такой обработки будет почти мгновенным и пользователем (вероятно) останется незамеченным. Что же до web-клиента? там все медленно!

Допущение №2 - такую обработку имеет смысл запускать при старте приложения и в этот момент можно ее чем-нибудь прикрыть Можно запустить свое лого на web-страничке во время загрузки web-клиента и отображения окна обработки.

  • Первое что понадобится - место где мы будем хранить полученную информацию, в нашем случае это параметр сеанса IpКлиента .
  • Второе - сама обработка
    Создаем обработку, и форму в ней (на самом деле подойдет любой вид форм).
    На форму добавляем строковый реквизит "HTMLДокумент", в элементах задаем ему вид Поле HTML документа
    и целочисленный реквизит "ПопытокПолученияIPСделано", он будет хранить информацию о том как долго длится попытка получения ip-адреса.
    Код модуля формы:

ПриОткрытии() устанавливается тело HTML-документа с js, в js происходит попытка получения ip-адреса из одного из трех сервисов последовательно.
Если в браузере используется блокировщик - адреса ресурсов могут быть недоступны, в связи с чем получение ip-адреса ни из одного из ресурсов может не произойти, необходимо будет искать сервис, не находящийся в базе блокировщиков.
При успехе исполнения ip-адрес записывается в тело документа.

Каждую секунду в течение 3 секунд происходит асинхронная попытка получения текста HTML-документа (процедура ПопытатьсяПолучитьСодержаниеHTML()), в случае успеха происходит запись полученного значения в параметр сеанса.
После успеха или неуспеха форма закрывается.

  • Третье - время ее запуска. В нашем случае это модуль приложения, ПриНачалеРаботыСистемы().
    При начале работы системы запускаем обработку, активируем начальную страницу в попытке скрыть процесс работы обработки

Вот и всё. Теперь мы почти всегда знаем, с какого IP к нам подключался клиент.

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.


В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

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

Синтаксис этой команды выглядит так:


Самое важное тут — это <OBJECT> (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

  • address — адрес протокола (IPv4 или IPv6) на устройстве.
  • tunnel — IP-туннель.
  • route — запись таблицы маршрутизации.
  • rule — правило в базе данных политики маршрутизации.
  • vrf — управление виртуальными устройствами маршрутизации и перенаправления трафика.
  • xfrm — управление IPSec-политикой.

Вывод IP-адресов, назначенных интерфейсу на сервере:


Назначение IP-адреса интерфейсу, например — enps03 :


Удаление IP-адреса из интерфейса:


Изменение статуса интерфейса, в данном случае — включение eth0 :


Изменение статуса интерфейса, в данном случае — выключение eth0 :


Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :


Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:


Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :


Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:


Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :


Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:


Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда ifconfig до определённого времени представляла собой один из основных инструментов, используемых многими системными администраторами для настройки сетей и решения сетевых проблем. Теперь ей на замену пришла команда ip , о которой мы только что говорили. Но если вас, всё же, интересует эта команда, можете взглянуть на данный материал.

Команда mtr

MTR (Matt's traceroute) — это программа, работающая в режиме командной строки, представляющая собой инструмент для диагностики сетей и устранения сетевых неполадок. Эта команда совмещает в себе возможности ping и traceroute . Она, как traceroute , может выводить сведения о маршруте, по которому сетевые данные идут от одного компьютера к другому. Она выводит массу полезных сведений о каждом шаге маршрутизации, например — время ответа системы. Благодаря использованию команды mtr можно получить довольно подробные сведения о маршруте, можно обнаружить устройства, которые вызывают проблемы при прохождении данных по сети. Если, например, наблюдается рост времени ответа системы, или рост числа потерянных пакетов, это позволяет с уверенностью говорить о том, что где-то между исследуемыми системами возникла проблема с сетевым соединением.

Синтаксис команды выглядит так:


Рассмотрим несколько распространённых способов применения mtr .

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


Вот — вариант использования mtr , когда вместо имён хостов выводятся их IP-адреса (речь идёт о ключе -g , благодаря которому вместо имён выводятся числовые IP-адреса):


А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:


А так можно получить отчёт, содержащий результаты работы mtr :


Вот — ещё один вариант получения такого отчёта:


Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:


А вот так можно использовать UDP вместо ICMP:


Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:


Так можно настроить размер пакета:


Для вывода результатов работы mtr в формате CSV используется такая команда:


Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:


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


Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:


Или — такой, с указанием (через ключ -c ) количества пакетов, которые нужно захватить:

▍ Захват трафика, идущего к некоему хосту и от него

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


Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:


Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:


Ещё можно поступить так:


Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):


Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):


Захват трафика для заданного порта:


Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Инструмент netstat используется для вывода сведений о сетевых соединениях и таблицах маршрутизации, данных о работе сетевых интерфейсов, о masquerade-соединениях, об элементах групп многоадресной рассылки. Эта утилита является, как и ifconfig , частью пакета net-tools . В новом пакете iproute2 для достижения тех же целей используется утилита ss .

Если в вашей системе netstat отсутствует, установить эту программу можно так:


Ей, в основном, пользуются, вызывая без параметров:


В более сложных случаях её вызывают с параметрами, что может выглядеть так:


Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:


Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:


Для вывода сведений обо всех TCP-портах применяется такой вариант команды:


Если нужны данные по UDP-портам — утилиту вызывают так:


Список портов любых протоколов, ожидающих соединений, можно вывести так:


Список TCP-портов, ожидающих соединений, выводится так:


Так выводят список UDP-портов, ожидающих соединений:


А так — список UNIX-портов, ожидающих соединений:


Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:


Так выводятся статистические сведения по TCP-портам:


Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:


Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:


Просмотр NS-записей домена:


Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:


Обнаружение всех доступных DNS-записей домена:


Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:


В данном случае работу команды ping можно остановить, воспользовавшись сочетанием клавиш CTRL+C . В противном случае она будет выполнять запросы до тех пор, пока её не остановят. После каждой ping-сессии выводятся сводные данные, содержащие следующие сведения:

  • Min — минимальное время, которое требуется на получение ответа от пингуемого хоста.
  • Avg — среднее время, которое требуется на получение ответа.
  • Max — максимальное время, которое требуется на получение ответа.

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:


А для того чтобы увидеть лишь итоговый отчёт работы ping — можно воспользоваться ключом -q :


В системах с несколькими сетевыми интерфейсами можно задавать конкретный интерфейс, которым должна пользоваться команда ping . Например, есть компьютер, имеющий интерфейсы eth0 и eth1 . Если нужно, чтобы команда ping использовала бы интерфейс eth0 — надо запустить её так:


Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:


Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

▍ Destination Host Unreachable

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

▍ Request timed out

▍ Unknown host/Ping Request Could Not Find Host

Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

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

Читайте также: