- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •4. Оценка сети
- •Переход в сеть IoT
- •VLAN и сетевые коммутаторы
- •Спуфинг коммутатора
- •Двойное тегирование
- •Имитация устройств VoIP
- •Идентификация устройств IoT в сети
- •Обнаружение паролей службами снятия отпечатков
- •Атаки MQTT
- •Настройка тестовой среды
- •Написание модуля MQTT Authentication-Cracking в Ncrack
- •Тестирование модуля Ncrack на соответствие MQTT
- •Заключение
- •5. Анализ сетевых протоколов
- •Проверка сетевых протоколов
- •Сбор информации
- •Анализ
- •Создание прототипов и разработка инструментов
- •Работа с Lua
- •Общие сведения о протоколе DICOM
- •Генерация трафика DICOM
- •Включение Lua в Wireshark
- •Определение диссектора
- •Определение основной функции диссектора
- •Завершение диссектора
- •Создание диссектора C-ECHO
- •Начальная загрузка данных функции диссектора
- •Анализ полей переменной длины
- •Тестирование диссектора
- •Разработка сканера служб DICOM для механизма сценариев Nmap
- •Написание библиотеки сценариев Nmap для DICOM
- •Коды и константы DICOM
- •Написание функций создания и уничтожения сокетов
- •Создание заголовков пакетов DICOM
- •Написание запросов контекстов сообщений A-ASSOCIATE
- •Чтение аргументов скрипта в движке сценариев Nmap
- •Определение структуры запроса A-ASSOCIATE
- •Анализ ответов A-ASSOCIATE
- •Создание окончательного сценария
- •Заключение
- •6. Использование сети с нулевой конфигурацией
- •Использование UPnP
- •Стек UPnP
- •Распространенные уязвимости UPnP
- •Злоупотребление UPnP через интерфейсы WAN
- •Другие атаки UPnP
- •Использование mDNS и DNS-SD
- •Как работает mDNS
- •Как работает DNS-SD
- •Проведение разведки с помощью mDNS и DNS-SD
- •Злоупотребление на этапе проверки mDNS
- •Атаки «человек посередине» на mDNS и DNS-SD
- •Использование WS-Discovery
- •Как работает WS-Discovery
- •Подделка камер в вашей сети
- •Создание атак WS-Discovery
- •Заключение
- •UART
- •Аппаратные средства для связи с UART
- •Как найти порты UART
- •Определение скорости передачи UART
- •JTAG и SWD
- •JTAG
- •Как работает SWD
- •Аппаратные средства для взаимодействия с JTAG и SWD
- •Идентификация контактов JTAG
- •Взлом устройства с помощью UART и SWD
- •Целевое устройство STM32F103C8T6 (Black Pill)
- •Настройка среды отладки
- •Кодирование целевой программы на Arduino
- •Отладка целевого устройства
- •Заключение
- •Как работает SPI
- •Как работает I2C
- •Настройка архитектуры шины I2C типа «контроллер–периферия»
- •Заключение
- •9. Взлом прошивки
- •Прошивка и операционные системы
- •Получение доступа к микропрограмме
- •Взлом маршрутизатора Wi-Fi
- •Извлечение файловой системы
- •Статический анализ содержимого файловой системы
- •Эмуляция прошивки
- •Динамический анализ
- •Внедрение бэкдора в прошивку
- •Нацеливание на механизмы обновления микропрограмм
- •Компиляция и установка
- •Код клиента
- •Запуск службы обновления
- •Уязвимости служб обновления микропрограмм
- •Заключение
- •10. Радио ближнего действия: взлом rFID
- •Радиочастотные диапазоны
- •Пассивные и активные технологии RFID
- •Структура меток RFID
- •Низкочастотные метки RFID
- •Высокочастотные RFID-метки
- •Настройка Proxmark3
- •Обновление Proxmark3
- •Клонирование низкочастотных меток
- •Клонирование высокочастотных меток
- •Имитация RFID-метки
- •Изменение содержимого RFID-меток
- •Команды RAW для небрендированных или некоммерческих RFID-тегов
- •Подслушивание обмена данными между меткой и считывателем
- •Извлечение ключа сектора из перехваченного трафика
- •Атака путем подделки RFID
- •Автоматизация RFID-атак с помощью механизма скриптов Proxmark3
- •Пользовательские сценарии использования RFID-фаззинга
- •Заключение
- •11. Bluetooth Low Energy (BLE)
- •Как работает BLE
- •Необходимое оборудование BLE
- •BlueZ
- •Настройка интерфейсов BLE
- •Обнаружение устройств и перечисление характеристик
- •GATTTool
- •Bettercap
- •Взлом BLE
- •Настройка BLE CTF Infinity
- •Приступаем к работе
- •Заключение
- •12. Радиоканалы средней дальности: взлом Wi-Fi
- •Как работает Wi-Fi
- •Атаки Wi-Fi на беспроводные клиенты
- •Деаутентификация и атаки «отказ в обслуживании»
- •Атаки на Wi-Fi путем подключения
- •Wi-Fi Direct
- •Атаки на точки доступа Wi-Fi
- •Взлом WPA/WPA2
- •Взлом WPA/WPA2 Enterprise для сбора учетных данных
- •Методология тестирования
- •Заключение
- •13. Радио дальнего действия: LPWAN
- •Захват трафика LoRa
- •Настройка платы разработки Heltec LoRa 32
- •Настройка LoStik
- •Превращаем USB-устройство CatWAN в сниффер LoRa
- •Декодирование протокола LoRaWAN
- •Формат пакета LoRaWAN
- •Присоединение к сетям LoRaWAN
- •Атаки на LoRaWAN
- •Атаки с заменой битов
- •Генерация ключей и управление ими
- •Атаки воспроизведения
- •Подслушивание
- •Подмена ACK
- •Атаки, специфичные для приложений
- •Заключение
- •14. Взлом мобильных приложений
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Защита данных и зашифрованная файловая система
- •Подписи приложений
- •Аутентификация пользователя
- •Управление изолированными аппаратными компонентами и ключами
- •Проверенная и безопасная загрузка
- •Анализ приложений iOS
- •Подготовка среды тестирования
- •Статический анализ
- •Динамический анализ
- •Атаки путем инъекции
- •Хранилище связки ключей
- •Реверс-инжиниринг двоичного кода
- •Перехват и изучение сетевого трафика
- •Анализ приложений Android
- •Подготовка тестовой среды
- •Извлечение файла APK
- •Статический анализ
- •Обратная конвертация двоичных исполняемых файлов
- •Динамический анализ
- •Перехват и анализ сетевого трафика
- •Утечки по побочным каналам
- •Заключение
- •15. Взлом умного дома
- •Физический доступ в здание
- •Клонирование RFID-метки умного дверного замка
- •Глушение беспроводной сигнализации
- •Воспроизведение потока с IP-камеры
- •Общие сведения о протоколах потоковой передачи
- •Анализ сетевого трафика IP-камеры
- •Извлечение видеопотока
- •Атака на умную беговую дорожку
- •Перехват управления интеллектуальной беговой дорожкой на базе Android
- •Заключение
- •Инструменты для взлома интернета вещей
- •Предметный указатель
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Рис.6.2.Теперь веб-интерфейс доступен через внешнее соединение
Злоупотребление UPnP через интерфейсы WAN
Попробуем использовать UPnP удаленно через WAN-интерфейс. Эта тактика может позволить внешнему злоумышленнику нанести неко- торый ущерб, например переадресовать порты с хостов внутри ло- кальной сети или выполнить другие полезные команды IGD, такие как самоочевидные GetPassword или GetUserName. Вы можете выпол- нить эту атаку в ошибочных или небезопасных реализациях UPnP.
Для выполнения этой атаки мы будем использовать Umap, инстру- мент, написанный специально для этой цели.
Как работаетатака
В целях безопасности большинство устройств обычно не принимает пакеты SSDP через интерфейс WAN, но некоторые из них могут при- нимать команды IGD через открытые контрольные точки SOAP. Это означает, что злоумышленник может взаимодействовать с ними на- прямую из интернета.
По этой причине Umap пропускает этап обнаружения стека UPnP (этап, на котором устройство использует SSDP для обнаружения дру- гих устройств в сети) и пытается напрямую сканировать файлы опи- сания XML. Если он находит такой файл, он затем переходит к этапу управления UPnP и пытается взаимодействовать с устройством, от- правляя ему запросы SOAP,направленные на URL-адрес в файле опи- сания.
На рис. 6.3 показана блок-схема сканирования внутренних сетей при помощи Umap.
Umap сначала пытается найти контрольные точки IGD, проверяя множество известных расположений файлов XML (таких как /root- Desc.xml или /upnp/IGD.xml). После успешного их обнаружения Umap пытается угадать блок IP внутренней локальной сети. Помните, что вы сканируете внешний IP-адрес (выходящий в интернет), поэтому адреса за устройством NAT будут другими.
Затем Umap отправляет команду сопоставления портов IGD для каждого общего порта, перенаправляя этот порт в глобальную сеть. Далее он пытается подключиться к этому порту.Если порт закрыт,он
Использование сети с нулевой конфигурацией 161
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
отправляет команду IGD для удаления сопоставления порта. В про- |
|
|
|
to |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
df-x chan |
|
o |
|
|||||
тивном случае он сообщает, что порт открыт, и оставляет сопостав- |
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
ление портов как есть. По умолчанию сканируются следующие об- щие порты (жестко запрограммированные в переменной commonPorts
в umap.py):
commonPorts = ['21','22','23','80','137','138','139','443','445','3389', '8080']
Начало |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.Распознавание |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.Сканирование |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
внутреннего |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
контрольных |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
IP-адреса |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
точек IGD |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
локальной сети |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.Сопоставленный |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
портTCP |
|
|
|
|
|
Конец цикла |
Для каждого |
|
|
3.Добавить |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
общего порта |
|
|
сопоставление портов |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
из WAN в LAN |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Нет |
|
|
5.Открытли |
Да |
||||
Конец |
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
порт? |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6а.Удалить |
|
|
|
|
|
6b.Сообщитьоб |
||||
|
|
|
|
|
|
|
|
|
сопоставление |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
порта |
|
|
|
|
|
открытом порте |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Попробоватьдругой портв commonPorts |
|
|
7.Выполнено |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с текущим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
портом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.6.3.Блок-схема Umap для сканирования хостов
Конечно, вы можете отредактировать переменную commonPorts и попытаться перенаправить другие порты. Можно найти хороший справочник по наиболее часто используемым TCP-портам,выполнив следующую команду Nmap:
# nmap --top-ports 100 -v -oG –
Nmap 7.70 scan initiated Mon Jul 8 00:36:12 2019 as: nmap --top-ports 100 -v -oG -
# Ports scanned: TCP(100;7,9,13,21-23,25-26,37,53,79-81,88,106,110- 111,113,119,135,139,143-144,179,199,389,427,443-445,465,513-515,543- 544,548,554,587,631,646,873,990,993,995,1025-1029,1110,1433,1720,1723,1755,1900,2000- 2001,2049,2121,2717,3000,3128,3306,3389,3986,4899,5000,5009,5051,5060,5101,5190,5357,5432,56- 31,5666,5800,5900,6000-6001,6646,7070,8000,8008-8009,8080-8081,8443,8888,9100,9999- 10000,32768,49152-49157) UDP(0;) SCTP(0;) PROTOCOLS(0;)
162 Глава 6
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
|
X |
|
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
|||
|
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
t |
|
||
|
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
NOW! |
r |
||||||
|
|
|
|
|
|
BUY |
|
|
||||
Получение и использование Umap |
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
o |
|||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
|
p |
df |
|
|
|
|
e |
|
||
|
|
|
|
|
|
g |
|
|
|
|||
|
|
|
|
|
|
n |
|
|
|
|
||
|
|
|
|
|
-x cha |
|
|
|
|
|
||
Umap был впервые представлен на Defcon 19 Даниэлем Гарсиа; по- |
|
|
|
|
|
|
|
следнюю версию инструмента можно найти на веб-сайте его авто- ра: https://toor.do/umap-0.8.tar.gz. После распаковки сжатого tar-архива Umap вы также можете установить SOAPpy и iplib:
#apt-get install pip
#pip install SOAPpy
#pip install iplib
UmapнаписаннаPython2,которыйофициальнобольшенеподдер- живается; поэтому, если в вашем дистрибутиве Linux нет доступного диспетчера пакетов Python 2,вам нужно будет загрузить его вручную с https://pypi.org/project/pip/#files. Загрузите последнюю версию исход- ного кода и запустите ее так:
#tar -xzf pip-20.0.2.tar.gz
#cd pip-20.0.2
#python2.7 setup install
Запустите Umap следующей командой (заменив IP-адрес на внеш- ний IP-адрес вашей цели):
# ./umap.py -c -i 74.207.225.18
После запуска Umap будет реализовывать блок-схему просмотра, показанную на рис. 6.3. Даже если устройство не объявляет команду IGD (что означает, что команда не обязательно должна быть указа- на как controlURL в XML-файле описания), некоторые системы все равно принимают команды из-за ошибочной реализации UPnP. Таким образом, вы всегда должны проверять их все в надлежащем тесте безопасности . Таблица 6.1 содержит список тестируемых команд IGD.
Обратите внимание, что последняя общедоступная версия Umap (0.8) не выполняет автоматическую проверку этих команд. Вы мо- жете найти более подробную информацию о них в официальной спецификации по адресу http://upnp.org/specs/gw/UPnP-gw-ANPPPConnec- tion-v1-Service.pdf/.
После того как Umap обнаружит доступную через внешний интер- нет службу IGD, вы можете использовать Miranda для ручного тести- рования этих команд. В зависимости от команды вы должны полу- чить различные ответы.Например,вернувшись к нашему уязвимому маршрутизатору OpenWrt и запустив против него Miranda,мы можем увидеть вывод некоторых из этих команд:
Использование сети с нулевой конфигурацией 163
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
||
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
to |
Таблица 6.1.Список возможных команд IGD |
||||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|||||||
w Click |
|
|
|
|
|
o |
m |
|
|||
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
|
|
e |
|
Устанавливает определенный тип соединения |
|
|
|
|
|
|
|
SetConnectionType |
|||||
|
|
|
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
||
|
|
|
|
|
|
|
GetConnectionTypeInfo |
Извлекает значения текущего типа соединения и допустимых типов |
|||
|
|
|
|
|
|
|
|
|
|
|
соединения |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ConfigureConnection |
Отправьте эту команду для настройки PPP-соединения на устройстве |
|
WAN и измените статус соединения ConnectionStatus из «Не |
|
конфигурировано» на «Отключено» |
RequestConnection |
Инициирует подключение к экземпляру службы подключения с уже |
|
определенной конфигурацией |
RequestTermination |
Отправьте эту команду любому экземпляру подключения в состоянии |
|
«Подключено»,«Подключение» или «Аутентификация»,чтобы |
|
изменить состояние подключения на «Отключено» |
ForceTermination |
Отправьте эту команду любому экземпляру подключения |
|
в состоянии «Подключено»,«Подключение»,«Проверка |
|
подлинности»,«Ожидание отключения» или «Отключение»,чтобы |
|
изменить ConnectionStatus на «Отключено» |
SetAutoDisconnectTime |
Устанавливает время (в секундах),по истечении которого активное |
|
соединение автоматически разрывается |
SetIdleDisconnectTime |
Указывает время простоя (в секундах),после которого соединение |
|
может быть разорвано |
SetWarnDisconnectDelay |
Указывает количество секунд предупреждения для каждого |
|
(потенциально) активного пользователя соединения,прежде чем |
|
соединение будет прервано |
GetStatusInfo |
Извлекает значения переменных состояния,относящихся |
|
к состоянию соединения |
GetLinkLayerMaxBitRates |
Получает максимальные скорости передачи данных в восходящем |
|
и нисходящем направлении для соединения |
GetPPPEncryptionProtocol |
Извлекает протокол шифрования канального уровня (PPP) |
GetPPPCompressionProtocol |
Извлекает протокол сжатия канального уровня (PPP) |
GetPPPAuthenticationProtocol |
Извлекает протокол аутентификации канального уровня (PPP) |
GetUserName |
Извлекает имя пользователя,используемое для активации |
|
соединения |
GetPassword |
Извлекает пароль,используемый для активации соединения |
GetAutoDisconnectTime |
Извлекает время (в секундах),по истечении которого активное |
|
соединение автоматически отключается |
GetIdleDisconnectTime |
Получает время простоя (в секундах),после которого соединение |
|
может быть разорвано |
GetWarnDisconnectDelay |
Получает количество секунд предупреждения для каждого |
|
(потенциально) активного пользователя соединения,прежде чем |
|
соединение будет прервано |
GetNATRSIPStatus |
Получает текущее состояние NAT и Realm-Specific IP (RSIP) на шлюзе |
|
для этого подключения |
GetGenericPortMappingEntry |
Извлекает сопоставления портов NAT по одной записи за раз |
GetSpecificPortMappingEntry |
Сообщает о статическом сопоставлении портов,указанном |
|
уникальным кортежем RemoteHost,ExternalPort и |
|
PortMappingProtocol |
AddPortMapping |
Создает новое сопоставление портов или перезаписывает |
|
существующее сопоставление с тем же внутренним клиентом. |
|
Если пара ExternalPort и PortMappingProtocol уже сопоставлена |
|
с другим внутренним клиентом,возвращается ошибка |
DeletePortMapping |
Удаляет ранее созданное сопоставление портов.По мере удаления |
|
каждой записи массив уплотняется,а значение переменной |
|
PortMappingNumberOfEntries уменьшается на единицу |
GetExternalIPAddress |
Получает значение внешнего IP-адреса в этом экземпляре |
|
подключения. |
164 Глава 6