Jump to content
Sign in to follow this  
tolikkk

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

Share this post


Link to post
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

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

Share this post


Link to post
Share on other sites

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...
Sign in to follow this  

×
×
  • Create New...