Jump to content

iptables tcp log


Recommended Posts

Добрый день.

Стоит 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"'ами, ходящими в рамках уже установленного соединения.

Link to comment
Share on other sites

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

Когда включены лог всех 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

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

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...