当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 防火墙iptables的一个有些难度的问题(虚心请教高手)

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 防火墙iptables的一个有些难度的问题(虚心请教高手)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 150 ::
收藏到网摘: n/a


最近在研究iptables看到这么句话
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG
--log-prefix "NEW not syn:"
有些疑惑了啊 这里的--syn就是相当于"-- tcp-flags SYN,RST,ACK SYN"的简写,我一直是认为就是表示新建TCP连接包的意思,而 --state NEW有解释说NEW为该包想要开始一个连接(重新连接或将连接重定向).我个人为人新建一个连接就是相当于TCP包开头SYN要置1啊,但是怎么这里用了"! --syn"和 "--state NEW"也就是后面log里面注解的 NEW not syn,想请问下syn和NEW到底有什么区别那?或者说这句iptables到底记录的是怎么样子的包啊???
懂的高手不吝赐教啊,小弟这里谢过了 :) :lol:
JohnBull 回复于:2004-02-01 17:46:06 网管的意思是如果来了一个TCP报文,以前却没有经过第一次握手,就LOG下来.
VO小新 回复于:2004-02-01 19:19:59 [quote:9e623ef065="JohnBull"]网管的意思是如果来了一个TCP报文,以前却没有经过第一次握手,就LOG下来.[/quote:9e623ef065]
新的TCP报文连接不是都要经过3步握手的嘛???
JohnBull 回复于:2004-02-01 20:32:54 换句话说:如果一个TCP报文不隶属于现有任何连接,而且又不是第一次握手,就LOG之,换作我的话,直接DROP之.
原因可能是丢包,指纹检测....
要掌握网络安全,首先得训练自己的想象力.
lichin 回复于:2004-02-01 20:59:37 我觉得是这样吧:如果来一个TCP封包,是第一次握手,即状态是NEW的,但是封包头缺少syn标志的,就把它记录下来。这个在Oskar Andreasson的iptables指南中有提到。

VO小新 回复于:2004-02-01 21:57:54 [quote:9ad669f778="JohnBull"]换句话说:如果一个TCP报文不隶属于现有任何连接,而且又不是第一次握手,就LOG之,换作我的话,直接DROP之.
原因可能是丢包,指纹检测....
要掌握网络安全,首先得训练自己的想象力.[/quote:9ad669f778]
恩 解释的很透彻我了解你的意思了.还有你说的"要掌握网络安全,首先得训练自己的想象力",听起来很受用啊谢谢了 :D
VO小新 回复于:2004-02-01 22:02:09 [quote:ecc4cd38c4="lichin"]我觉得是这样吧:如果来一个TCP封包,是第一次握手,即状态是NEW的,但是封包头缺少syn标志的,就把它记录下来。这个在Oskar Andreasson的iptables指南中有提到。[/quote:ecc4cd38c4]
恩 你说的是不是和JohnBull一个意思啊, 但是我怎么感到你说的有些第一次握手怎么可能syn是置0的那???我从JohnBull说的理解来看,就是说NEW是不属于现在存在的任何一个TCP连接,但是又不是一个主动syn的握手连接,可能是以前TCP连接时候丢的包延迟再传回来了,你认为乃?
zerohv 回复于:2004-04-10 08:52:51 为什么第一个包就一定要是syn包呢,可以是一个构造的ack包嘛,还可以是其它标记的。当然这个包是要不在当前状态表中的,也就是NEW