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

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

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


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