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

Unix/Linux
linux 操作技巧收集_
linux下如何读取使用iso 镜像文件的方法
Linux平台下文件的压缩与解压参数说明
Linux下常用压缩格式的压缩与解压方法
Linux JDK,TOMCAT安装及环境设置
Linux sleep命令使用参数
Linux cat命令参数
nfs 配置的简单例子
linux kill 关闭进程命令
linux ultrasphinx Anonymous modules have no name to be referenced by
Linux oracle 9i图文安装方法一
Linux oracle 9i图文安装教程二
Linux oracle 9i图文安装教程三
Linux oracle 9i图文安装教程四
Linux oracle 9i图文安装教程五
Linux oracle 9i图文安装教程六 完结篇
linux AS3 oracle9i 安装指南
Linux 下 (RedHat 9.0) JDK,Tomcat,MySQL的安装
RedHat 9.0下Apache+PHP+MySQL服务器安装配置
Linux 下用 Python 连接 MSSql Server 2008

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 114 ::
收藏到网摘: 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