Может ли кто-нибудь порекомендовать инструмент командной строки linux для мониторинга количества байтов, передаваемых между локальным сервером и указанным IP-адресом / портом.
Эквивалентная команда tcpdump будет:
tcpdump -s 0 -i any -w mycapture.trc port 80 host google.com
какие выводы:
46 packets captured
131 packets received by filter
0 packets dropped by kernel
Я хотел бы что-то подобное, что выводит:
54 bytes out, 176 bytes in
Я бы хотел, чтобы он работал на RHEL и был свободен / открыт. Было бы хорошо, если бы существовал какой-то инструмент, который мне тоже не хватало!
Я собирался предложить wireshark (для него много « разговорных » функций), но это не инструмент командной строки. Вы можете попробовать tshark , который является инструментом анализа командной строки, который закрыт для wireshark. Вывод должен иметь (несколько) то, что вы ищете (пример ниже):
Результат:
источник
Существует также инструмент iftop, который отображает использование полосы пропускания на интерфейсе хоста. Я думаю, что iftop может сделать то, что вы описали, но обычно его интерфейс похож на «top».
Итак, для вашего примера, я думаю, что вы можете просто создать конфигурационный файл, чтобы предоставить свой фильтр-код.
Вот мой код фильтра в моем конфигурационном файле.
Затем я запустил следующее, чтобы увидеть сетевой трафик.
Не уверен, что это лучший вариант, но, безусловно, один из способов достижения того, что вам нужно. НТН.
источник
iftop -f 'port 80 and host google.com'
iftop
показать это?Вы также можете попробовать «iptraf», он легкий и простой. Он может фильтровать по порту и дает вам информацию высокого уровня, никаких данных полезной нагрузки и т. Д.
источник