`

Linux系统不响应SYN包的解决办法

 
阅读更多
关于syn为什么没有回应的问题真是郁闷了好久。
现象就是在客户端发出syn包的时候,服务器端对客户端的syn包不做任何回应。
在网上逛了逛,终于找到有人也发生了这样的情况,发生的原因解释如下:
当客户端发出的syn包带有时间戳的情况下,经过NAT转换后,如果使用的端口被之前使用过,而且时间戳大于本次syn包中的时间戳。系统将会直接丢弃。造成本次链接无法正常完成TCP/IP的3次握手。【该功能和rfc1323有关,后面有链接】
解决的方法很简单,分为两种:
在客户端:关闭rfc1323
在服务端:设置sysctl.conf里面tcp_timestamps=0也可以只用命令sysctl -w net.ipv4.tcp_timestamps=0

收集到的几种客户端的rfc参数位置
Linux:和服务器端的基本相同
微软为注册表方式,位置为【HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts】:
Windows XP:默认值为3
Windows 7 家庭版:默认值为1
Windows 7 旗舰版:没有找到这个键值

关于本文提到的技术解释:
Tcp1323Opts:http://technet.microsoft.com/en-us/library/cc938205.aspx
RFC1323:http://tools.ietf.org/html/rfc1323
最早看到解决这个问题的文章:http://www.spinics.net/lists/linux-net/msg17195.html
分享到:
评论

相关推荐

    威力强悍的 syn发包工具

    "发包"是指在网络通信中发送数据包的行为,这里的“发包”特指SYN包的发送。在TCP/IP协议栈中,数据是以数据包的形式在网络上传输的,每个数据包包含了源地址、目的地址以及控制信息等。发包工具允许用户自定义这些...

    Linux平台下防御SYN Flood攻击策略的研究.pdf

    总的来说,这篇研究提供了一种针对Linux环境下的SYN Flood攻击的实用解决方案,通过改进的算法和模块设计,提高了系统防御此类攻击的能力。这对于维护互联网服务的稳定性和安全性具有重要意义,也为其他类似操作系统...

    linux下发送syn

    在Linux操作系统中,"发送SYN"通常是指利用TCP/IP协议栈进行网络通信时的一种握手过程。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它通过三次握手建立连接。在这个过程中,SYN...

    Linux下synflood源码

    Synflood攻击者大量伪造源IP地址,发送SYN包给目标服务器,但不响应服务器的SYN+ACK包。这使得服务器为每个连接保留资源,等待确认,当积累到一定数量未完成的连接时,服务器的资源耗尽,正常用户无法进行连接。 二...

    SYN Cookie原理及在Linux内核中的实现

    Linux内核的SYN Cookie功能并非始终启用,通常在系统遭受SYN Flood攻击且标准防御机制不足以抵御攻击时自动激活。在2.4.20版本的内核中,当半开连接队列满时,会启用SYN Cookie。启用后,服务器会计算一个基于SYN包...

    Linux调优,对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。

    在 Linux 系统中,可以通过调整 tcp_syn_retries 参数来控制服务器在放弃连接之前所发送的 SYN+ACK 包的次数。默认值是 5,对应于 180 秒左右时间。 2. TCP 连接保持:为了保持长连接,服务器需要周期性地发送 ...

    内核tcp的syn包skbuffer构造发送模块

    SYN攻击是一种拒绝服务(DoS)攻击,攻击者通过伪造大量SYN包,使得服务器在等待响应这些连接请求时消耗资源,最终导致正常用户无法建立连接。在这种攻击中,攻击者通常不回应服务器的SYN+ACK(同步确认),使得...

    syn_scan.c.rar_linux syn_syn扫描

    - **发起SYN请求**:使用`connect()`函数发送SYN包,但不等待完整连接。 - **处理响应**:分析接收到的TCP包,检查是否是SYN+ACK响应,以确定端口状态。 - **错误处理**:对于未响应或非SYN+ACK响应的情况,可能...

    b.zip_Linux SynScanner_SIncoder_syn_syn扫描

    【Linux SYN扫描器 by SIncoder】是一款专为Linux系统设计的网络扫描工具,主要用于检测网络连接中的SYN(同步)扫描技术。SYN扫描,也称为半开连接扫描,是一种在网络安全审计和渗透测试中常用的非侵入式探测方法。...

    Linux SYN 扫描器

    Linux SYN 扫描器是一种网络扫描工具,主要应用于系统管理员和网络安全研究人员,用于检测网络上目标主机的开放端口。这种扫描技术利用TCP协议的三次握手过程中的SYN(同步序列编号)阶段来探测目标主机的响应,因此...

    基于linux系统的端口扫描检测源代码

    1. **TCP SYN扫描(半开放式扫描)**:只发送SYN包而不完成三次握手,借此来判断目标端口是否开放。 2. **TCP全连接扫描(Connect扫描)**:建立完整的TCP连接,如果端口开放,会收到ACK响应,否则连接会被拒绝。 3....

    Linux系统加固.pdf

    在Linux系统中,可以采用诸如调整内核参数、安装和配置防火墙、使用SYN cookies等方法来预防此类攻击。具体操作可能包括修改/etc/sysctl.conf文件来调整内核参数,或安装配置如iptables等防火墙规则。 文档最后提到...

    LINUX平台下抗DDoS防火墙原理及实现.pdf

    * SYN洪水攻击的原理是攻击者发送大量的SYN包,而服务器则等待SYN包超时,导致服务器超载,无法响应其他的请求。 【知识点4】:防御SYN洪水攻击的解决方案 * 目前比较常用的防御SYN洪水攻击的方法包括Rate ...

    linux系统怎么防止DDOS攻击.pdf

    Linux系统提供了多种方式来防御DDOS攻击,本文将介绍其中的一些方法。 1. 调整TCP/IP协议参数 DDOS攻击 thường利用TCP/IP协议的弱点,通过大量的SYN请求来填满服务器的网络队列,使得服务器无法响应正常的用户...

    linux2.6_TCP包发送流程.pdf

    在Linux操作系统中,尤其是在2.6版本的内核中,TCP的实现涉及多个层次的函数调用与处理过程,本文将重点分析从用户空间到内核空间的TCP包发送流程。 ### 插口层系统调用 在Linux中,网络通信的API主要通过socket...

    Linux内核优化是指通过调整内核的参数和设置,提高Linux系统的性能和效率

    通过对Linux内核进行优化,可以显著提高系统的稳定性、响应速度以及资源利用率,这对于高性能计算、大数据处理等场景尤其重要。 #### 四、sysctl.conf配置文件详解 `/etc/sysctl.conf` 和 `/etc/sysctl.d/` 是用于...

    SYN攻击常用命令

    攻击者通过伪造大量的SYN请求,但不发送最后的ACK确认,导致服务器处于半开连接状态(即服务器等待客户端的ACK确认),这些未完成的连接会占用服务器的资源(如端口、内存)。当服务器的资源被大量消耗后,就无法...

    Linux安全之SYN攻击原理及处理

     SYN攻击是利用TCP协议的缺陷,来导致系统服务停止正常的响应。  SYN攻击原理  TCP在传递数据前需要经过三次握手,SYN攻击的原理是向服务器发送SYN数据包,并伪造源IP地址。  服务器在收到SYN数据包时,...

    LINUX网络配置与包管理

    ### Linux网络配置与包管理知识点概述 #### 5.1 Linux网络配置 ##### 5.1.1 Linux网络基础 **网络定义与分类** - **网络定义**: 网络是指通过有线或无线的方式将多台设备连接起来,使它们能够通过网络介质进行...

Global site tag (gtag.js) - Google Analytics