ip

ip разбирает IPv4 и IPv6, определяет область адреса, преобразует числовые формы и рассчитывает границы CIDR целиком средствами PHP.

СетьВерсия 1.2.2Стабильная
lil-terminal

Обзор

Используйте ip для детерминированной работы с адресами без сетевого запроса: переводите IPv4 между представлениями, разворачивайте IPv6, проверяйте частные и loopback-диапазоны и рассчитывайте сеть по префиксу.

Адрес и CIDR-сеть отвечают на разные вопросы

Без префикса ip описывает один адрес. С /prefix команда рассчитывает границы сети и диапазон. ip me и ip server — отдельные формы: они берут адреса из текущего HTTP-запроса и конфигурации хостинга.

Синтаксис

lil-terminal
ip <address|integer|hex|me|server>[/prefix]

Справочник

ip 192.168.1.1

показать IPv4, числовые представления и область адреса

ip 3232235777

преобразовать беззнаковое целое в IPv4 и показать его свойства

ip 0xC0A80101

преобразовать шестнадцатеричное значение в IPv4 и показать его свойства

ip 192.168.1.10/24

показать сеть IPv4, маску, wildcard, broadcast и диапазон

ip 2001:db8::1

показать сжатую и развёрнутую формы IPv6 и область адреса

ip 2001:db8::1/64

показать сеть IPv6, последний адрес и диапазон

ip me

показать адрес текущего посетителя

ip server

показать адрес текущего сервера

Детерминированные формы

Один и тот же IPv4 можно передать в точечной, целочисленной или шестнадцатеричной форме. Префикс CIDR добавляет рассчитанные границы сети. Для IPv6 показываются сжатая, развёрнутая и шестнадцатеричная формы; с префиксом дополнительно вычисляются сеть, последний адрес, полный диапазон и число адресов. Значения me и server зависят от текущего HTTP-запроса и конфигурации хостинга.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Сравнить адрес сервера и посетителя

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install ip
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install ip -m
Точная публичная версия

Установить именно эту опубликованную версию.

install ip -v 1.2.2
Проверить или обновить

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

upgrade ip
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install ip -u

Примеры

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

Сравнить адрес сервера и посетителя
ip server | ip me
Адрес  203.0.113.10
Семейство   IPv4
Область    documentation

Адрес  198.51.100.24
Семейство   IPv4
Область    documentation
Преобразовать беззнаковое целое в IPv4 и показать его свойства
ip 3232235777
Address    192.168.1.1
Family     IPv4
Scope      private
Integer    3232235777
Hex        0xC0A80101
Bytes      192.168.1.1
Преобразовать шестнадцатеричное значение в IPv4 и показать его свойства
ip 0xC0A80101
Address    192.168.1.1
Family     IPv4
Scope      private
Integer    3232235777
Hex        0xC0A80101
Bytes      192.168.1.1
Показать сеть IPv4, маску, wildcard, broadcast и диапазон
ip 192.168.1.10/24
Address    192.168.1.10
Family     IPv4
Scope      private
Integer    3232235786
Hex        0xC0A8010A
Bytes      192.168.1.10
CIDR       192.168.1.0/24
Network    192.168.1.0
Netmask    255.255.255.0
Wildcard   0.0.0.255
Broadcast  192.168.1.255
Range      192.168.1.0 – 192.168.1.255
Addresses  256
Показать сжатую и развёрнутую формы IPv6 и область адреса
ip 2001:db8::1
Address     2001:db8::1
Family      IPv6
Scope       documentation
Compressed  2001:db8::1
Expanded    2001:0db8:0000:0000:0000:0000:0000:0001
Hex         0x20010DB8000000000000000000000001
Показать сеть IPv6, последний адрес и диапазон
ip 2001:db8::1/64
Address     2001:db8::1
Family      IPv6
Scope       documentation
Compressed  2001:db8::1
Expanded    2001:0db8:0000:0000:0000:0000:0000:0001
Hex         0x20010DB8000000000000000000000001
CIDR        2001:db8::/64
Network     2001:db8::
Last        2001:db8::ffff:ffff:ffff:ffff
Range       2001:db8:: – 2001:db8::ffff:ffff:ffff:ffff
Addresses   18446744073709551616
Показать адрес текущего посетителя
ip me
Address  198.51.100.24
Family   IPv4
Scope    documentation
(example: actual visitor address depends on the request)
Показать адрес текущего сервера
ip server
Address  203.0.113.10
Family   IPv4
Scope    documentation
(example: actual server address depends on the host)
Отклонить неверный IP-адрес
ip 999.999.999.999
Некорректный IP-адрес

Файл из примера: sandbox/config/app.json

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

{
  "name": "lil-sandbox",
  "debug": true,
  "features": ["files", "code", "archives"],
  "limits": {
    "upload_mb": 2,
    "history": 25
  }
}

Связанная документация

Текущая публичная версия

v1.2.22026-08-08

Яснее формы посетителя и сервера

Отделяет зависящие от текущего запроса формы me/server от детерминированных преобразований адресов.