/* СТИЛИ */

[#DCBEELINEKZ] БИЛАЙН ХАБЫ КАЗАХСТАН

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » [#DCBEELINEKZ] БИЛАЙН ХАБЫ КАЗАХСТАН » [OPENWRT/LEDE ] » Отображения списка имен всех хостов, подключенных к сети.


Отображения списка имен всех хостов, подключенных к сети.

Сообщений 1 страница 2 из 2

1

В OpenWrt для отображения списка имен всех хостов, подключенных к сети, можно использовать команду arp или ip neigh. Эти команды позволяют увидеть таблицу ARP (Address Resolution Protocol), которая содержит соответствие IP-адресов и MAC-адресов устройств в локальной сети.

Вот пример использования этих команд:

### Команда arp
arp -a

Эта команда выведет список всех известных сетевых интерфейсов и их соответствий IP/MAC-адреса. Формат вывода будет примерно таким:
? (192.168.1.100) at aa:bb:cc:dd:ee:ff [ether] on br-lan
? (192.168.1.101) at ff:ee:dd:cc:bb:aa [ether] on br-lan

Здесь:
- 192.168.1.100, 192.168.1.101 – IP-адреса устройств,
- aa:bb:cc:dd:ee:ff, ff:ee:dd:cc:bb:aa – соответствующие им MAC-адреса.

### Команда ip neigh
ip neigh show

Эта команда также покажет список соседних устройств в сети. Вывод будет похожим на предыдущий вариант:
192.168.1.100 dev br-lan lladdr aa:bb:cc:dd:ee:ff STALE
192.168.1.101 dev br-lan lladdr ff:ee:dd:cc:bb:aa REACHABLE

Здесь:
- lladdr указывает на MAC-адрес устройства,
- состояние может быть REACHABLE (доступен), STALE (устаревший) и другие.

Для того чтобы узнать имя хоста, соответствующее каждому IP-адресу, можно воспользоваться командой nslookup или host (если у вас настроены DNS-серверы):

nslookup 192.168.1.100

или
host 192.168.1.100

Эти команды попытаются получить имя хоста по указанному IP-адресу через систему доменных имен (DNS).

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

0

2

!!! Написал с ошибкой!!!

Чтобы отобразить результат выполнения команды arp -a в веб-интерфейсе LuCI (графическом интерфейсе OpenWRT), вам нужно настроить выполнение этой команды через SSH и затем вывести результаты в LuCI. Вот пошаговая инструкция:

### Шаг 1: Подключение к роутеру через SSH

Подключитесь к вашему роутеру с OpenWRT через SSH. Обычно это делается следующим образом:

ssh root@<IP_адрес_роутера>

Замените <IP_адрес_роутера> на реальный IP-адрес вашего роутера.

### Шаг 2: Выполнение команды arp -a

После подключения выполните команду arp -a в терминале:

arp -a

Вы увидите вывод таблицы ARP, который выглядит примерно так:

? (192.168.1.100) at aa:bb:cc:dd:ee:ff [ether] on br-lan
? (192.168.1.101) at ff:ee:dd:cc:bb:aa [ether] on br-lan

### Шаг 3: Настройка скрипта для автоматического обновления данных

Создайте скрипт, который будет периодически выполнять команду arp -a и сохранять её вывод в файл. Например, создайте файл /usr/bin/arp_monitor.sh со следующим содержимым:

#!/bin/sh
# Скрипт для периодического сбора данных arp
while true; do
    # Получаем данные ARP
    arp -a > /tmp/arp_table.txt
   
    # Ждем 60 секунд перед следующей проверкой
    sleep 60
done

Сделайте этот скрипт исполняемым:

chmod +x /usr/bin/arp_monitor.sh

Запустите скрипт в фоновом режиме:

nohup /usr/bin/arp_monitor.sh &

Теперь каждые 60 секунд файл /tmp/arp_table.txt будет обновляться с новыми данными ARP.

### Шаг 4: Отображение результатов в LuCI

Для отображения содержимого файла /tmp/arp_table.txt в LuCI, вам потребуется создать пользовательский модуль LuCI, который будет читать содержимое этого файла и выводить его на страницу.

#### Создание модуля LuCI

1. Создайте директорию для вашего модуля:

mkdir -p /etc/config/luci-arp-monitor

2. Создайте файл конфигурации /etc/config/luci-arp-monitor:

config luci-arp-monitor 'main'
option enabled '1'

3. Создайте файл страницы LuCI /usr/lib/lua/luci/controller/arp_monitor.lua:

module("luci.controller.arp_monitor")

local http = require "luci.http"
local sys = require "luci.sys"

function index()
    entry({"admin", "network", "arp_monitor"}, form("cbi/tblsection"), _("ARP Monitor"), nil)
end

index()

4. Создайте файл формы /usr/lib/lua/luci/model/cbi/arp_monitor.lua:

module("luci.cbi.arp_monitor", package.seeall)

function get_arp_data()
    local file = io.open("/tmp/arp_table.txt", "r")
    if not file then return "" end
    local data = file:read("*all")
    file:close()
    return data
end

function arp_monitor_section(self)
    self.sectiontype = "simple"
    self.template = "cbi/tblsectionfull"
    self.rows = 10
    self.sortable = false
    self.editable = false
    self.delete = false
    self.add = false
    self.cfgsections = function() return { } end
    self.exteditors = {}
    self.tablenames = {}

    self:addfield_value("data", _("ARP Table"))
        :value(get_arp_data())
end

### Шаг 5: Перезапуск LuCI

Перезапустите сервис LuCI, чтобы изменения вступили в силу:

/etc/init.d/uhttpd restart

Теперь, когда вы зайдете в веб-интерфейс LuCI и перейдете в раздел Network → ARP Monitor, вы должны увидеть таблицу ARP, автоматически обновляемую каждые 60 секунд.

0


Вы здесь » [#DCBEELINEKZ] БИЛАЙН ХАБЫ КАЗАХСТАН » [OPENWRT/LEDE ] » Отображения списка имен всех хостов, подключенных к сети.