Mylg — средство мониторинга сети для командной строки для Linux-систем

В этой статье мы покажем, как установить и использовать программное обеспечение для мониторинга сети под названием My Looking Glass, или mylg.

Оно было довольно рано разработано, но  уже поддерживает множество замечательных функций, таких как, например, анализатор пакетов, веб-панель мониторинга, сканирование портов и многое другое.

Мы установим его на Ubuntu 16.04 LTS.

Что mylg может диагностировать в сети

 

1) Трассировка в реальном времени (поддержка сетей IPv4 и IPv6)
2) Улучшена команда Dig
3) Анализатор пакетов TCP / IP
4) Улучшенный HTTP-пинг и дамп
5) Команды сканирования портов
6) Информация о пирах
7) Обнаружение LAN сети
8) Сбор информации о ASN, IP / CIDR
9) Информация о поиске DNS

Как установить mylg

Программное обеспечение mylg написано на языке программирования Go.

Оно требует libcap как зависимость пакетов.

 #  apt-get install libpcap-dev golang 

Затем нам нужно получить mylg deb пакет. Скачаем его:

 # wget http://mylg.io/dl/linux/mylg.amd64.deb

И затем установите его:

 # dpkg -i mylg.amd64.deb 

Затем мы уже можем запустить его, и мы увидем приветствующий экран:

 # mylg 

При этом часть установки завершена.

Мы переходим к части его использованию.

Использование анализатора пакетов mylg

Mylg содержит мощные функции анализа пакетов, которые полагаются на libcap и несколько сопоставимы с Wireshark.

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

# dump -c 7 

Он должен захватывать и анализировать до 7 пакетов.

Мы получили 6.

Поскольку у меня есть активное соединение SSH с примером KVM Ubuntu, на котором запущен mylg, он будет захватывать связь между VM и хостом.

Вот что я получил:

Обратите внимание, что протоколы окрашены, а ваш собственный хост, где работает mylg, выделен жирным шрифтом.

Чтобы получить более конкретный вывод, вы можете использовать синтаксис фильтра пакетов berkeley и длинный список модификаторов.

Например, чтобы получить только udp-пакеты, вы можете ввести:

# dump -c 3 udp
Interface: ens3, capture size: 6144 bytes
13:03:04.351 IPv4/UDP 192.168.122.1:17500(db-lsp-disc) > 192.168.122.255:17500(db-lsp-disc) , len: 145
13:03:04.355 IPv4/UDP miki-Standard-PC-i440FX-PIIX-1996.:40595 > 192.168.122.1:53(domain) , len: 0
13:03:04.355 IPv4/UDP 192.168.122.1:53(domain) > miki-Standard-PC-i440FX-PIIX-1996.:40595 , len: 0

Чтобы получить только пакеты с одного хоста, вы можете ввести имя хоста или ip-адрес следующим образом:

# dump -c 1 host miki-Standard-PC-i440FX-PIIX-1996
Interface: ens3, capture size: 6144 bytes
13:02:22.067 IPv4/UDP miki-Standard-PC-i440FX-PIIX-1996.:37228 > 192.168.122.1:53(domain) , len: 0

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

host hostname

src host hostname

dst host hostname

and, not, or support in the syntax

tcp, udp, icmp, icmp6, ip, ipv6

Как показать маршруты трассировки

Mylg поддерживает traceroute по сравнению с большинством других инструментов сетевого мониторинга, но добавляет немного дополнительной поддержки в реальном времени.

Позволяет отслеживать Google с помощью основной команды трассировки:

 # trace google.com
 trace route to google.com (216.58.214.206), 30 hops max
 1 192.168.122.1 0.092 ms 0.097 ms 0.061 ms
 2 192.168.1.1 1.886 ms 1.195 ms 1.652 ms
 3 212.200.180.146 [ASN 8400/TELEKOM-AS] 10.282 ms 13.892 ms 8.344 ms
 4 212.200.180.123 [ASN 8400/TELEKOM-AS] 8.929 ms 8.749 ms 8.287 ms
 5 212.200.7.74 [ASN 8400/TELEKOM-AS] 12.248 ms 19.486 ms 11.621 ms
 6 212.200.7.79 [ASN 8400/TELEKOM-AS] 10.686 ms 11.148 ms 10.833 ms
 7 79.101.96.177 [ASN 8400/TELEKOM-AS] 22.842 ms 22.434 ms 25.806 ms
 8 209.85.243.181 [ASN 15169/GOOGLE] 22.145 ms 23.683 ms 23.397 ms
 9 66.249.94.113 [ASN 15169/GOOGLE] 21.702 ms 22.207 ms 21.780 ms
 10 bud02s23-in-f14.1e100.net. (216.58.214.216) [ASN 15169/GOOGLE] 22.946 ms 23.247 ms 22.676 ms 

 

 

Если вам нужно захватить отчет, команда трассировки может запускаться в реальном времени для 10 захватов пакетов и делать отчет.

 # trace bing.com -r -R
 ──[ myLG ]── traceroute to bing.com (204.79.197.200)
 Host ASN Holder Sent Lost% Last Avg Best Wrst
 192.168.122.1 10 0.0 0.18 0.17 0.08 0.20
 192.168.1.1 10 0.0 1.32 1.42 1.06 2.34
 212.200.180.146 8400 TELEKOM 10 0.0 16.09 14.18 8.49 21.78
 212.200.180.128 8400 TELEKOM 10 0.0 24.93 16.90 8.05 24.93
 212.200.7.84 8400 TELEKOM 10 0.0 12.36 12.21 11.44 13.23
 212.200.7.79 8400 TELEKOM 10 0.0 12.07 16.81 10.30 32.09
 212.200.5.119 8400 TELEKOM 10 0.0 23.25 25.45 23.25 53.53
 ams-ix-1.microsoft.com. 1200 AMS 10 0.0 51.46 51.44 51.03 52.97
 104.44.80.25 8075 MICROSOFT 10 0.0 61.44 61.78 61.44 63.82
 ??? 10 100.0
 ??? 10 100.0
 ??? 10 100.0
 a-0001.a-msedge.net. 8068 MICROSOFT 10 0.0 60.04 59.95 59.41 61.26 

Если вам нужно более 10 образцов пакетов, используйте ключ  -c с номером.

Как использовать команду dig

С командой dig вы можете выполнить DNS-запрос и получить IP-адрес, nameserver, mail exchange и текстовые аннотации.

Он также имеет опцию трассировки, которая даст информацию о принятых маршрутах.

# dig bing.com +trace

Без функции трасировки:

 # dig bing.com 

 

 

 

Как отслеживать сайты с помощью HTTP-запроса

Команда Mylg hping используется для проверки узла или сайта, аналогичного команде ping, но вместо ICMP, который использует ping, hping использует протокол HTTP.

Он показывает время ответа, версию протокола HTTP, код, который он возвращает (status HTTP-code).

При использовании без счетчика (опция -c с номером) он пингует 5 раз.

Мы будем использовать запрос два раза.

# hping bing.com -c 2
 HPING bing.com (204.79.197.200), Method: HEAD, DNSLookup: 32.0384 ms
 HTTP Response seq=0, proto=HTTP/1.1, status=405, time=130.057 ms
 HTTP Response seq=1, proto=HTTP/1.1, status=405, time=129.607 ms

--- bing.com HTTP ping statistics ---
 2 requests transmitted, 2 replies received, 0% requests failed
 HTTP Round-trip min/avg/max = 129.61/129.83/130.06 ms
 HTTP Code [405] responses : [████████████████████] 100.00%

В hping также есть опция -trace, которая даст нам дополнительную информацию о том, сколько времени потребовалось, чтобы прочитать первый байт и как долго продолжалось соединение.

# hping bing.com -c 2 -trace
HPING bing.com (204.79.197.200), Method: HEAD, DNSLookup: 53.2580 ms
HTTP Response seq=0, proto=HTTP/1.1, status=405, time=129.112 ms, connection=61.990 ms, first byte read=67.022 ms
HTTP Response seq=1, proto=HTTP/1.1, status=405, time=128.614 ms, connection=61.797 ms, first byte read=66.740 ms

--- bing.com HTTP ping statistics ---
2 requests transmitted, 2 replies received, 0% requests failed
HTTP Round-trip min/avg/max = 128.61/128.86/129.11 ms
HTTP Code [405] responses : [████████████████████] 100.00%

Обнаружение Lan и запрос RIPE NCC

Чтобы обнаружить хосты в вашей локальной сети, вам просто нужно использовать команду disk.

Но поскольку я использую пример KVM в режиме NAT, их нет:

 # disc
 please wait . .
 Network LAN Discovery
 +----+-----+------+-----------+-------------------+
 | IP | MAC | HOST | INTERFACE | ORGANIZATION NAME |
 +----+-----+------+-----------+-------------------+
 +----+-----+------+-----------+-------------------+
 0 host(s) has been found 

 

 

Затем попробуйте выполнить запрос базы данных RIPE.

RIPE — это европейская организация и открытый онлайн-форум, который поддерживает базу данных публичных IP-адресов и телефонных номеров.

Команда Mylg whois запрашивает эту базу данных.

Вам нужно только ввести IP-адрес, ASN или CIDR.

Итак, давайте посмотрим, кто стоит за ip addres 8.8.8.8

 # whois 8.8.8.8
 +------------+-------+--------------------------+
 | PREFIX | ASN | HOLDER |
 +------------+-------+--------------------------+
 | 8.8.8.0/24 | 15169 | GOOGLE - Google Inc., US |
 +------------+-------+--------------------------+

Кто бы мог подумать, что Google DNS-серверы управляются Google.

 #  whois 605
 VHS-CHIL - Vanguard Health Management, Inc., US
 +--------------------+-----------+
 | LOCATION | COVERED % |
 +--------------------+-----------+
 | United States - IL | 100.0000 |
 +--------------------+-----------+

Как выполнить сканирование портов

 

Команда Mylg scan может помочь вам сканировать любые порты на определенном хосте.

Он принимает имя хоста или IP-адрес.

 # scan www.bing.com
+----------+------+--------+-------------+
| PROTOCOL | PORT | STATUS | DESCRIPTION |
+----------+------+--------+-------------+
| TCP | 443 | Open | |
| TCP | 80 | Open | |
+----------+------+--------+-------------+
Scan done: 2 opened port(s) found in 2.007 seconds 

Далее сканирование виртуальной машины, на которой запущен mylg:

  # scan localhost
+----------+------+--------+-------------+
| PROTOCOL | PORT | STATUS | DESCRIPTION |
+----------+------+--------+-------------+
| TCP | 22 | Open | |
+----------+------+--------+-------------+
Scan done: 1 opened port(s) found in 0.013 seconds

Открыт только порт ssh. Узнайте Как обезопасить свою систему?

Эта простая команда сканирования чрезвычайно полезна по разным причинам.

Например, если у вас есть проблема с подключением, вы хотите отсканировать свой сервер или локальный хост, чтобы узнать, блокирует ли брандмауэр то, что он не должен блокировать.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *