Перейти к содержанию

ip.php

Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.

Методы API

Метод Действие Описание
get_client_ip получение клиентского IP Возвращает текущий IP-адрес клиента, совершившего запрос к API
get_ip получение информации об IP Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, сеть и т.д.)
get_ptr получение PTR-записи Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации.
get_traffic получение трафика Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки.
list_free_ip получение списка свободных IP Возвращает список неиспользуемых IP-адресов для указанной локации на основе тегов Route Reflector. Используется внутренними механизмами для предотвращения сканирования.
set_main установка основного IP для сервера Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера.
update_ptr обновление PTR-записи Обновляет обратную DNS-запись (PTR) для IP-адреса, принадлежащего серверу. Требуется проверка прав доступа и принадлежности IP серверу.

ip/get_client_ip

Возвращает текущий IP-адрес клиента, совершившего запрос к API

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_client_ip
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X GET \
--data "action=get_client_ip" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"data": {
"ip": "192.168.1.1"
}
}
Примеры ошибок

``` { "code": -1, "message": "authentication required" }

```

ip/get_ip

Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, сеть и т.д.)

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_ip
token string Токен авторизации
ip string IP-адрес для получения информации

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=192.168.0.1"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_ip",
"data": {
"network": "192.168.0.0",
"netmask": "255.255.255.0",
"gateway": "192.168.0.1"
}
}
Примеры ошибок

``` { "code": -1, "message": "No data for the loopback address" }

```

ip/get_ptr

Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (get_ptr)
token string Токен авторизации
ip string IP-адрес
id int ID сервера
location string Локация для проверки PTR

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4" \
--data "id=123" \
--data "location=moscow"
Пример успешного ответа
{
"result": "OK",
"message": "example.domain.com"
}
Примеры ошибок

``` { "code": -1, "message": "invalid request or IP not assigned to server" }

```

ip/get_traffic

Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_traffic
token string Authentication token
ip string IP address to report traffic for
period_start int Start timestamp (default: current time - 86400)
period_stop int End timestamp (default: current time)
summary int 1 - return only summary {ip, in, out} in GB, 0 - all ticks with stamps for graphics
unbilled int 1 - return only unbilled ticks, 0 - all ticks

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"traffic": [
{
"timestamp": "2024-05-20T12:00:00Z",
"in": 1.45,
"out": 0.89
}
]
}
Примеры ошибок

``` { "code": -1, "message": "no significant traffic detected for [ip] in the period [date] - [date]" }

```

ip/list_free_ip

Возвращает список неиспользуемых IP-адресов для указанной локации на основе тегов Route Reflector. Используется внутренними механизмами для предотвращения сканирования.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (list_free_ip)
token string Токен авторизации
location string|int Локация для поиска свободных IP
exclude_special int Исключать специальные IP (0 или 1)

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_free_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "location=NL" \
--data "exclude_special=1"
Пример успешного ответа
{
"result": "OK",
"ip": [
"NL 192.168.1.1",
"DE 10.0.0.5"
]
}
Примеры ошибок

``` { "code": -1, "message": "illegal IP subnet" }

```

ip/set_main

Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Authentication token
ip string IP address to set as main
id int Server ID
main string Main parameter (e.g., 1 for main IPv4)
description string Description for the IP

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4" \
--data "id=123" \
--data "main=1" \
--data "description=My Main IP"
Пример успешного ответа
{
"result": "OK",
"message": "data from ipv4_set_main"
}
Примеры ошибок

``` { "code": -1, "message": "invalid IP 1.2.3.4 for server 123" }

```

ip/update_ptr

Обновляет обратную DNS-запись (PTR) для IP-адреса, принадлежащего серверу. Требуется проверка прав доступа и принадлежности IP серверу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (update_ptr)
token string Токен авторизации
id int ID сервера
ip string IP-адрес
ptr string PTR запись (FQDN)
location string Локация

Пример запроса

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=update_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "id=5" \
--data "ip=1.2.3.4" \
--data "ptr=example.com"
Пример успешного ответа
{
"result": "OK",
"message": ""
}
Примеры ошибок

``` { "code": -1, "message": "IP 1.2.3.4 is not assigned for server id 5" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×