Use ifconfig.me to return your IP and Host
ifconfig.me is a web service that displays information about your connection, including IP address, hostname and User Agent string. Helpfully it provides a simplified interface that can be easily queried to get this information from the command line.
All commands are variations on the below. The full list is also available on the ifconfig.me website:
curl ifconfig.me curl ifconfig.me/<request-data>
Method
To get your remote IP address as seen by other users online enter the following at a command line:
curl ifconfig.me or curl ifconfig.me/ip
curl is a command-line tool for requesting data from a specified URL
Other commands are variations on this theme such as:
curl ifconfig.me/host for your remote hostname
curl ifconfig.me/ua for your User Agent
Note that your User Agent will be that as sent by curl and will differ from that reported when accessing ifconfig.me in your actual browser.
A full set of all the data returnable is available using:
Early access
Enjoyed this? Subscribe to get new updates weeks before anyone else, straight in your Inbox.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Инструменты командной строки для веб-разработчика
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
cURL
cURL — программа для передачи данных по различным протоколам, похожая на wget. Основное отличие в том, что по умолчанию wget сохраняет в файл, а cURL выводит в командную строку. Так можно очень просто посмотреть контент веб-сайта. Например, вот как быстро получить свой текущий внешний IP:
Параметры -i (показывать заголовки) и -I (показывать только заголовки) делают cURL отличным инструментом для дебаггинга HTTP-ответов и анализа того, что конкретно сервер вам отправляет:
Параметр -L тоже полезный, он заставляет cURL автоматически следовать по редиректам. cURL поддерживает HTTP-аутентификацию, cookies, туннелирование через HTTP-прокси, ручные настройки в заголовках и многое, многое другое.
Siege
Siege — инструмент для нагрузочного тестирования. Плюс, у него есть удобная опция -g, которая очень похожа на curl –iL, но вдобавок показывает вам ещё и заголовки http-запроса. Вот пример с google.com (некоторые заголовки удалены для краткости):
Но для чего Siege действительно великолепно подходит, так это для нагрузочного тестирования. Как и апачевский бенчмарк ab, он может отправить множество параллельных запросов к сайту и посмотреть, как он справляется с трафиком. В следующем примере показано, как мы тестируем Google с помощью 20 запросов в течение 30 секунд, после чего выводится результат:
Одна из самых полезных функций Siege — то, что он может работать не только с одним адресом, но и со списком URL’ов из файла. Это отлично подходит для нагрузочного тестирования, потому что можно моделировать реальный трафик на сайте, а не просто жать один и тот же URL снова и снова. Например, вот как использовать Siege, чтобы нагрузить сервер, используя адреса из вашего лога Apache:
Ngrep
Для серьёзного анализа трафика существует Wireshark с тысячами настроек, фильтров и конфигураций. Есть также версия для командной строки tshark. Но для простых задач функционал Wireshark я считаю избыточным. Так что до тех пор, пока мне не нужно мощное оружие, я использую ngrep. Он позволяет делать с сетевыми пакетами то же самое, что grep делает с файлами.
Для веб-трафика вы почти всегда захотите использовать параметр -W, чтобы сохранить форматирование строк, а также параметр -q, который скрывает избыточную информацию о неподходящих пакетах. Вот пример команды, которая перехватывает все пакеты с командой GET или POST:
Как использовать curl для получения общедоступного IP-адреса
Мануал
Команда curl в системах Linux обычно используется для загрузки и скачивания файлов на удаленный сервер или с него, или обращения к REST API.
Еще одна интересная вещь, для которой мы можем использовать его, – это определение публичного IP-адреса.
Для этого мы можем использовать curl для запроса веб-сайтов, которые настроены только на то, чтобы возвращать IP-адрес любой системы, которая к нему подключается.
Это один из самых быстрых и простых способов узнать ваш общедоступный IP-адрес в командной строке Linux.
Далее мы покажем вам несколько примеров.
Установка curl
Хотя curl – распространенная утилита, она не включена в каждый дистрибутив Linux.
В частности, он может отсутствовать в более настольных дистрибутивах.
На всякий случай, если он еще не установлен, вы можете использовать соответствующую команду показанную ниже, чтобы установить его через диспетчер пакетов вашей системы.