Перейти к содержанию

Рекомендуемые сообщения

Добрый день.

Стоит iptables v1.3.5 на CentOS 5.5

Хочется логировать полную процедуру установки соединения tcp -- т.н. 3-way tcp handshake, то есть последовательность пакетов SYN -- SYN,ACK -- ACK.

Для "SYN" и "SYN,ACK" сделал правила:

-A FORWARD -p tcp --tcp-flags ALL SYN -j LOG --log-prefix "FORWARD" --log-level 7-A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j LOG --log-prefix "FORWARD" --log-level 7

С этим все нормально. А с "ACK" проблема, не понимаю, какое правило надо создать, чтобы залогировать только первый "ACK" установки соединения.

Если сделать правило:

-A FORWARD -p tcp --tcp-flags ALL ACK -j LOG --log-prefix "FORWARD" --log-level 7

то логи быстро загадятся обычными "ACK"'ами, ходящими в рамках уже установленного соединения.

Ссылка на комментарий
Поделиться на другие сайты

Такой вариант я тоже пробовал - не подходит.

Когда включены лог всех ACK'ов, видно, что пакеты SYN-SYN/ACK-ACK проходят в течение одной секунды:

Jul 30 16:48:13 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.2.4 DST=10.200.0.2 LEN=48 TOS=0x00 PREC=0x00 TTL=126 ID=14809 DF PROTO=TCP SPT=4323 DPT=2500 WINDOW=64512 RES=0x00 SYN URGP=0

Jul 30 16:48:13 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.0.2 DST=10.200.2.4 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=155 PROTO=TCP SPT=2500 DPT=4323 WINDOW=8192 RES=0x00 ACK SYN URGP=0

Jul 30 16:48:13 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.2.4 DST=10.200.0.2 LEN=40 TOS=0x00 PREC=0x00 TTL=126 ID=14812 DF PROTO=TCP SPT=4323 DPT=2500 WINDOW=64512 RES=0x00 ACK URGP=0

В случае с опцией --state NEW, пакет ACK приходит, но почему-то с большой задержкой. Скорее это уже ACK от обмена данными внутри соединения, а не от его установки:

Jul 30 16:47:00 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.2.4 DST=10.200.0.2 LEN=48 TOS=0x00 PREC=0x00 TTL=126 ID=7778 DF PROTO=TCP SPT=4322 DPT=2500 WINDOW=64512 RES=0x00 SYN URGP=0

Jul 30 16:47:00 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.0.2 DST=10.200.2.4 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=152 PROTO=TCP SPT=2500 DPT=4322 WINDOW=8192 RES=0x00 ACK SYN URGP=0

Jul 30 16:47:11 test1 kernel: FORWARDIN=bond0.3 OUT=bond0.3 SRC=10.200.0.2 DST=10.200.2.4 LEN=41 TOS=0x00 PREC=0x00 TTL=29 ID=153 PROTO=TCP SPT=2500 DPT=4256 WINDOW=8192 RES=0x00 ACK URGP=0

Конечно, данный вариант лучше, чем ничего, но тем не менее не то.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Столкнулся с такой-же проблемой, и чтоб лог не переполнять посмотрел статус NEW вот пример http://commandlist.ru/command/3991 только нужно вместо дропа заюзать ulog.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...