V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OneOfSisters
V2EX  ›  宽带症候群

有人攻击我?

  •  
  •   OneOfSisters · 336 天前 · 3668 次点击
    这是一个创建于 336 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ...之前 TCP 经常断连, 自从给 OpenWRT 加了 tcp-flags RST RST -j DROP 后发现此条规则命中 81684 次, icmptype 3(路由不可达) 命中 2899 次, 我应该如何正常上网?
    谁在发起攻击?
    办电信宽带时候说的每月 30,000T 流量是假的吗?
    话说 TCP 正规流程是 ACK+FIN 结束吗?
    大家对于网络攻击有啥经验嘛, 话说攻击不是违法的吗?
    14 条回复    2023-04-29 06:40:42 +08:00
    jedihy
        1
    jedihy  
       336 天前
    TCP graceful shutdown 才会有 FIN 和 FIN/ACK 。并不是所有的 APP 的有实现了 graceful shutdown 。还有很多正常情况下,也会有 RST ,比如套接字收到了数据,但是 app 不读,直接 close socket 也会导致 RST 。

    RST 并不直接导致 TCP 断连。只有当 RST 的 5 元组 match 你现有的链接,并且 sequence number 是在同一个窗口内 (或者是完全等于 RcvNxt 的时候?忘了)才会被系统接受。
    sunnysab
        2
    sunnysab  
       336 天前 via Android
    调用 shutdown() 应该是导致发送 FIN 吧,毕竟 TCP 断开连接就是一个双向 FIN 的过程。RST 会导致整个连接 RESET 掉。

    能不能用 tcpdump 挂着抓一下 RST 的包?(设置好过滤器)
    手机 WiFi 断开的时候不知道 TCP 是会因为超时断开还是 RST ?没有研究过具体场景,但感觉八万次有点点多,还是抓包最准确。
    datocp
        3
    datocp  
       336 天前 via Android
    iptables -S INPUT|grep RST
    -A INPUT -i pppoe-wan -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,URG RST -j DROP

    我的网络一直有这么一条,当年似乎是为了应对翻墙 reset 的,也不知道有用没用。
    开机 81 天,拒绝 25795 个包。

    当年上海电信一访问 vps 的测速链接,1 秒就丢来 6 个。
    sunnysab
        4
    sunnysab  
       336 天前 via Android
    @datocp 😂 这不会造成 TCP 关不掉,消耗水资源吗
    sunnysab
        5
    sunnysab  
       336 天前 via Android
    水 -> 设备... 语音输入有点不靠谱,下次一定一定再检查
    iijboom
        6
    iijboom  
       336 天前
    1000M 上行 7*24*30 天跑满,一个月约 300T 多点流量,你的 30000TB 是什么意思?
    什么是网络攻击?你是想说 gfw 在攻击你吗?
    谁在发迷惑贴?
    bluedawn
        7
    bluedawn  
       336 天前 via iPhone
    跑个题,v2 挂旗子好少见。
    OneOfSisters
        8
    OneOfSisters  
    OP
       336 天前
    谢谢大家 明白了一些 又有些新疑惑 RST FIN 统统丢掉好像也能正常用来着?
    连接建立后 ACK PUSH 就能正常沟通吗?
    这是否会在安全上创造薄弱面?
    不过耗竭类攻击人家也不会主动中断连接吧
    iijboom
        9
    iijboom  
       336 天前
    你好,这是 Bing 。根据我的搜索结果,如果在路由器上把 RST FIN 统统丢掉,网络可能会出现一些问题。¹²

    RST 和 FIN 是 TCP 协议中用来终止连接的两种不同的信号。¹

    FIN 表示正常关闭连接,没有数据丢失,缓冲区所有数据包都发送完成才会发送 FIN 包。³ FIN 会触发一个四次握手的过程,双方都确认对方没有数据要发送了才关闭连接。¹

    RST 表示复位,用来异常的关闭连接,在 TCP 的设计中它是不可或缺的。³ 发送 RST 包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送 RST 包。³ 而接收端收到 RST 包后,也不必发送 ACK 包来确认。¹

    如果在路由器上把 RST FIN 丢掉,那么可能会导致一些连接无法正常关闭,或者出现错误无法及时恢复。² 这可能会在安全上创造薄弱面,比如让攻击者有机会利用未关闭的连接进行攻击。⁴

    耗竭类攻击,攻击方一般不会用伪造 RST FIN 之类的来主动中断连接,而是会用 SYN 之类的来占用资源。⁴

    Source: Conversation with Bing, 2023/4/27
    (1) TCP: Differences Between FIN and RST - Baeldung on Computer Science. https://www.baeldung.com/cs/tcp-fin-vs-rst.
    (2) Wireshark trace file RST after FIN packet - Server Fault. https://serverfault.com/questions/925095/wireshark-trace-file-rst-after-fin-packet.
    (3) TCP 协议之 RST 与 FIN_tcp fin_库昊天的博客-CSDN 博客. https://blog.csdn.net/yangguosb/article/details/79224872.
    (4) TCP 异常连接的检测方法 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/343350841.
    naturekingfree
        10
    naturekingfree  
       336 天前
    这个旗子
    admin545
        11
    admin545  
       336 天前
    我看到标题以为是挂这个旗被人人身攻击了
    sunnysab
        12
    sunnysab  
       335 天前
    @OneOfSisters 能收发数据但 TCP 没法释放,浪费内存啊。。

    你就想,人家互联网企业都不过滤 RST 、FIN, 为啥你要过滤……
    OneOfSisters
        13
    OneOfSisters  
    OP
       335 天前
    @sunnysab 目前还算正常, 手机电脑 NAS 都没异常, 万一异常可以加上端口匹配
    话说企业不过滤的吗? IBM 的我看就有 更复杂的甚至配了保留 IP 段规则, 不过这些规则就算都加上我也没中其他的
    0x3F/0x3F URG,ACK,PSH,RST,SYN,FIN URG,ACK,PSH,RST,SYN,FIN
    0x3F/0x37 URG,ACK,PSH,RST,SYN,FIN URG,ACK,RST,SYN,FIN
    0x3F/0x2B URG,ACK,PSH,RST,SYN,FIN URG,PSH,SYN,FIN
    0x3F/0x29 URG,ACK,PSH,RST,SYN,FIN URG,PSH,FIN
    0x3F/0x00 URG,ACK,PSH,RST,SYN,FIN NONE
    0x30/0x20 URG,ACK URG
    0x18/0x08 ACK,PSH PSH
    0x11/0x01 ACK,FIN FIN
    0x0A/0x0A PSH,SYN PSH,SYN
    0x06/0x06 RST,SYN RST,SYN
    0x05/0x05 RST,FIN RST,FIN
    0x04/0x04 RST RST
    0x03/0x03 SYN,FIN SYN,FIN
    idontcare
        14
    idontcare  
       335 天前
    每月 30,000T ?是在开玩笑吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4897 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.