This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - Сетевые решения

Не работает? Начинай читать инструкцию.

Утилита iftop - контроль трафика в режиме реального времени online

Утилита  iftop показывает информацию об активных сетевых соединениях, скорость сетевой закачки/отдачи. С её помощью можно мониторить трафик в режиме online, причем с разделением по протоколам, интерфейсам и хостам. iftop можно назвать аналогом широко известного top по части использования сети: слушает трафик на указанном интерфейсе и отображает таблицу текущего использования по парам хостов.

Предлагаю ознакомиться с предложениями моих партнёров

iftop не входят в стандартный комплект дистрибутива CentOS, но легко устанавливаются из дополнительных репозиториев.

Ставится на CentOS просто. Сначала добавляем дополнительный репозиторий Repoforge

CentOS 6.* x86:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

CentOS 6.* x64:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

После чего уже устанавливаем саму утилиту:

yum install iftop

Для Ubuntu из стандартных репозиториев

sudo apt-get install iftop

Есть довольно обширный man:

man iftop

Выполним в консоле для всех сетевых интерфейсов:

iftop

                19,1Mb          38,1Mb          57,2Mb          76,3Mb    95,4Mb
mqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqq
91.226.97.41               => 192.168.192.7               778Kb   680Kb   680Kb
                           <=                            12,0Kb  10,5Kb  10,5Kb
10.243.1.180               => 10.243.1.7                 16,2Kb  15,9Kb  15,9Kb
                           <=                             698Kb   668Kb   668Kb
10.243.1.100               => 10.243.1.4                    0b   2,96Kb  2,96Kb
                           <=                               0b   1,24Kb  1,24Kb
10.243.1.144               => 10.243.1.7                  164b   2,42Kb  2,42Kb
                           <=                             160b   1,29Kb  1,29Kb
10.243.1.4                 => 10.243.1.2                  496b    493b    493b
                           <=                            2,13Kb  2,13Kb  2,13Kb
10.243.1.7                 => 10.241.230.5                  0b   1,47Kb  1,47Kb
                           <=                             480b   1,06Kb  1,06Kb
239.255.255.250            => 10.243.1.17                   0b      0b      0b
                           <=                            4,70Kb  2,46Kb  2,46Kb
192.168.192.7              => 31.13.91.2                    0b    952b    952b
                           <=                               0b   1,38Kb  1,38Kb
207.171.162.148            => 192.168.192.7                 0b    360b    360b
                           <=                               0b   1,45Kb  1,45Kb
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
TX:             cum:      0B    peak:      0b   rates:      0b      0b      0b
RX:                    1,71MB           1,52Mb           1,48Mb  1,37Mb  1,37Mb
TOTAL:                 1,71MB           1,52Mb           1,48Mb  1,37Mb  1,37Mb

Если мы хотим увидеть прохождение трафика в байтах (по умолчанию iftop выводит статистику в битах).

iftop -i eth0 -B

Утилита iftop поддерживает, так называемый, pcap-filter синтаксис, используемый в пакетном фильтре и с помощью флага -f:

Трафик между локальным интерфейсом и хостом 8.8.8.8

iftop -i eth0 -f "dst 8.8.8.8"

Траф идущий с локального интерфейса на Яндекс

iftop -i eth0 -f "dst host ya.ru"

Трафик идущий по ssh (можно использовать номер порта или же название протокола)

iftop -i eth0 -f "dst port 22"

Трафик по http

iftop -i eth0 -f "dst port http"

Трафик DNS

iftop -i eth0 -f "dst port domain"

Трафик ICMP

iftop -i eth0 -f "icmp"

Можно задавать сложные фильтры, в соответствии с синтаксисом pcap-filter:

Отображать трафик по ssh с хоста ХХХХХХХ:

iftop -i eth0 -f "port ssh and host ХХХХХХХ″

Отображать весь трафик, кроме широковещательных запросов:

iftop -i eth0 -f "not ether host ff:ff:ff:ff:ff:ff"

С синтаксисом pcap-filter можно ознакомиться прямо из командной строки, по команде:

man pcap-filter

Как и в top используются команды:

Предлагаю ознакомиться с предложениями моих партнёров

-n - не производить определение разрешение адресов в DNS-имена

-N - не конвертировать номера портов в названия служб(из /etc/services)

-p - запускать в неразборчивом режиме(показывать трафик между другими узлами в этом же сегменте). Надо понимать, что траффик будет показываться, если он попадёт на сетевой интерфейс, к примеру, в результате включения на коммутаторе функции зеркалирования портов

-b - не показывать полоску-график трафика

-B - показывать ширину канала в байтах

-i interface - список именованных интерфейсов для работы

-f filter code - использовать код фильтра для определения считаемых пакетов (по-умолчанию нет, считаются только IP-пакеты)

-F net/mask - показывать траффик для сети IPv4

-G net6/mask6 - показывать траффик для сети IPv6

-l - показывать и считать трафик через обратную петлю IPv6(по-умолчанию отключено)

-P - показывать порты соединений

-m limit - адать потолок шкалы ширины канала

-c config file - указывает специальный конфиг