Как исключить сетевой трафик с помощью iptraf-ng?

8

Я хотел бы использовать, iptraf-ngчтобы увидеть, сколько данных моя машина отправляет / получает из Интернета, но я хочу исключить трафик в моей локальной сети, так как меня интересуют только данные, отправляемые за пределы сайта.

Я создал фильтр следующим образом, но когда я его активирую, iptraf-ngтрафик вообще не отображается!

  • IP-адрес источника: 192.168.0.0
  • Исходная подстановочная маска: 255.255.255.255
  • IP-адрес получателя: 192.168.0.0
  • Маска-шаблон назначения: 255.255.255.255
  • Протоколы: All IP, TCP, UDP, ICMP(фактические значения , установленные или отключенные никакой разницы)
  • Включить / исключить: E(если я изменю это на Iнет никакой разницы)
  • Совпадение противоположное: N(если я его Yпоменяю, разницы нет)

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

Как мне создать iptraf-ngфильтр, который исключает весь трафик, где IP-адреса источника и назначения находятся в 192.168.0.0/24?

Malvineous
источник
1
Если вы не особенно обращаетесь к iptraf-ng, вы можете посмотреть iftop. Удивительный инструмент. Если это машина RHEL / Fedora, она доступна в репозитории epel. Используйте iftopкоманду после a, yum install iftopи вам она просто понравится :).
Ситилайт
@Sree: Я использую Arch и уже iftopустановил, но я не вижу, как отфильтровать трафик локальной сети. Весь дисплей засорен всем трафиком локальной сети с высокой пропускной способностью, и я не могу видеть, какой намного меньший трафик покидает сеть. Как вы фильтруете трафик локальной сети iftop?
Malvineous
@ Молочные фильтры подачи в командной строке. Например, iftop -f "not dst port 22 and not src port 22"чтобы исключить весь трафик SSH. Ищите «синтаксис pcap» для спецификаций синтаксиса фильтрации.
AronVanAmmers

Ответы:

12

Следует отметить две вещи:

  • «Совпадение против» не означает «обратный смысл фильтра». Это означает, что «Сопоставьте входящий и исходящий трафик для хостов / портов в фильтре».
  • Как только фильтр установлен, любой пакет, который не соответствует фильтру, отбрасывается. Поэтому, если вы используете фильтр исключения, важно дополнить его правилом «принять все», иначе ничего не будет найдено!

Имея это в виду, способ определить фильтр для исключения локальной сети:

  • Создать фильтр, дать ему имя. Когда вы попадете на экран для добавления фильтра, добавьте следующее:

    • IP-адрес: 192.168.0.0
    • Подстановочная маска: 255.255.0.0
    • Пропустить диапазон портов и IP-адрес назначения / подстановочный знак / порт
    • Поместите Y в «Все IP»
    • Поместите E в «Включить / Исключить»
    • Поместите Y в "Совпадение напротив"
  • Нажмите, enterчтобы добавить это правило в фильтр, затем aдобавить другое правило:

    • Пропустить все поля адреса
    • Поместите Y в «Все IP»
    • Поместите I в «Включить / Исключить»
    • Поместите N в "Матч напротив"

    Это правило «разрешить все». Нажмите, enterчтобы принять его.

  • Вернувшись на экран фильтра, нажмите xдля выхода. Выберите «Применить фильтр ...» из меню и примените новый фильтр, который вы создали.

Теперь у вас есть фильтр, который принимает все - кроме трафика, приходящего или уходящего из локальной сети.

(В моем случае я использовал его для фильтрации порта 22, поскольку я подключался к машине, которую я хотел проверить через ssh, а сам iptrafвывод вызывал большую часть трафика, потому что он проходил через ssh).

RealSkeptic
источник
WTF, спасибо большое, это помогло. Две подсказки на моей стороне: Put Y in "All IP"- Я оставил это пустым во втором правиле, следовательно, это ничего не соответствует. И затем мне пришлось снова удалить правило включения (2-е правило), потому что я «вставил» его, чтобы оно пошло наверх. Кажется, нет никакого способа переместить правила, чтобы изменить порядок так, чтобы второе правило было вторым .
Тино