LINUX.ORG.RU
ФорумAdmin

ipfw fwd loopback + tcpdump

 , , ,


0

1

Всё происходит без участия внешних сетевых интерфейсов.

Есть правило ipfw fwd, перенаправляющее исходящий трафик на определённый адрес на локальный слушающий порт. Как его теперь увидеть в tcpdump? Ни на lo0, ни на одном из ethernet-интерфейсов, ни на созданном ipfw0 его не видно.

Условно (убрал ненужные подробности), есть правило

ipfw fwd 192.168.1.10,1005 tcp from 192.168.1.10 to 192.168.1.10 1005
и
tcpdump -i lo0 -n port 1005
telnet 192.168.1.10 1005
На порте 1005 никто не слушает. telnet пишет ошибку коннекта, tcpdump видит ответный RST (он не попадает в это правило а попадает в какое-то allow). А вот SYN - не видит.

★★★★★

Последнее исправление: firkax (всего исправлений: 1)

fwd 192.168.1.10:1005 log tcp from any to any 1005 via $if_name
  1. Включите логирование log в данном случае, как минимум поймете что там вообще что-то происходит.
tail -f /var/log/security
  1. Укажите конкретный интерфейс, что бы ловить это tcpdump-ом.
yakunin
()
Ответ на: комментарий от yakunin

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

via $if_name это не для tcpdump-а же, это просто один из критериев матча пакетов, или тут оно как-то по особенному работает?

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

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

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

yakunin
()
Ответ на: комментарий от yakunin

Я не очень понимаю связи между моим вопросом и этим ответом. Уточню.

Физические интерфейсы тут не участвуют - пакет пересылается внутри одного компа, хоть айпи-адреса и забиндены на один из ethernet-ов. Если правила fwd нет - то пакет виден на lo0, слать его на любой другой интерфейс - полностью бесполезная затея (он там потеряется), но их я тоже смотрел и его там предсказуемо не было.

Неудачи тут не происходит, пакет доходит по назначению (до приложения, если оно слушает порт), и в т.ч. всё что указано в fwd - применяется (там можно указать смену порта/адреса назначения на другой локальный).

firkax ★★★★★
() автор топика