configurationWindows防火墙阻止行为

有谁知道是否可以configurationWindows防火墙的行为,当它确定一个数据包是不允许的?

默认情况下,它将默默丢弃数据包,并且不会通知源发生这种情况,从而导致在连接超时夭折之前可能在源上等待很长时间。 对于一个给定的TCP连接,我想发送一个RST数据包给一个被拒绝的传入SYN数据包,而不是静静地丢弃它。

我的一个2K3盒子是这样做的,但是我的XP SP3机器却没有。 我的XP SP3笔记本电脑也用来做,但我的Win7笔记本电脑没有。

之所以出现这个问题,是因为我经常不得不通过telnet连接到几个内部的基于Linux的机器(他们没有,我也不能安装SSH),他们会尝试在提出用户名之前用ident标识我/密码提示。 当我从2K3服务器连接时,提示是即时的,因为传入的ident数据包被阻塞,但是从我的XP机器,我必须等待大约20秒,因为远程主机没有被通知阻塞。 这不是一个安全的事情 – 一切都是本地的,绝不会暴露在互联网上,我有两个防火墙之间的这些本地机器和广域网。

我已经做了一些相当大的谷歌search这个问题,最接近的我来find任何引用这个行为是这个technet文章 ,但它似乎直接抵触事实,我得到所需的行为之一,我的箱子。 它也没有包含有关如何configuration这种types的行为的信息,虽然我认为这是TCP / IP协议栈的function之间的阅读,而不是Windows防火墙本身 – 似乎TCP / IP协议栈(NAT驱动程序)询问防火墙是否允许一个数据包,然后处理这个动作本身。

在你问之前,不,在2K3盒子上肯定没有安装第三方防火墙软件 – 我的旧笔记本电脑上也没有安装第三方防火墙软件 – 它只是Windows防火墙。 这个configuration界面与我用来写这个问题的XP盒相同。 我完全知道这将最有可能涉及玩registry设置,但我不知道从哪里开始…

虽然您可以select拒绝RST连接尝试或具有多个数据包筛选器的ICMP目标不可达消息,但Windows防火墙在此处似乎不可configuration。 观察到的行为的差异可能是由于禁用了防火墙 – 在这种情况下,如果IDENT端口未打开,则TCP / IP堆栈本身只会发送RST响应。

作为你的情况的一个解决方法,我会build议这个 – 将端口113 / tcp添加到Windows防火墙的例外列表中。 只要在端口113上没有任何东西在监听,你就可以从堆栈中看到所需的RST响应,而不是一连串的SYN超时和重传。

原因 – http://technet.microsoft.com/zh-cn/library/dd448557%28WS.10%29

修复 – http://msdn.microsoft.com/en-us/library/ff720058%28v=prot.10%29.aspx

如果键/值不存在 – 创build它。 更改后需要重新启动Windows防火墙服务。

在您的Win2k3盒和XP SP3笔记本电脑上,是否正在运行任何正在侦听本地端口标识正在查询的服务?

可以发送RST,例如响应于接收到封闭套接字的分组。