Royalty_2001 2024-02-27 15:54 采纳率: 0%
浏览 7
已结题

通过防火墙出入站阻止游戏程序联网失效

为了达到lag switch的目的,防火墙出入站规则设置了,游戏程序在登录界面时有用,可以阻止联网,但在进入服务器以后,防火墙就不能阻止联网了,懂哥帮帮忙,有酬,谢谢

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-27 15:55
    关注

    引自免费微信小程序:皆我百晓生

    针对您的问题,您尝试通过防火墙规则阻止游戏程序联网以实现类似于“lag switch”的效果。然而,在登录界面时规则生效,一旦进入服务器后防火墙规则失效。这种情况可能涉及以下几个原因和解决思路:

    1. 动态端口分配:游戏客户端在连接到服务器后,可能会使用动态端口进行通信,而非始终使用固定端口。因此,您需要确保防火墙规则不仅限于游戏的默认端口,还要涵盖动态端口范围。例如,在Windows防火墙中设置出站规则时,您可以限制整个TCP或UDP协议,但请注意这可能会影响到其他应用程序。

    2. 进程变化:游戏程序在进入游戏服务器后可能启动了新的子进程或者改变了网络行为,导致原本阻止的进程不再适用。检查并确认所有与游戏相关的进程,并相应地更新防火墙规则。

    3. 绕过技术:游戏有可能采用了一些技术来规避防火墙的检测,比如通过系统服务或者其他已信任的应用程序作为代理进行网络通信。对于这种情况,您需要更深入地分析游戏的行为并针对性地制定策略。

    由于防火墙规则的具体配置涉及到操作系统、防火墙软件以及游戏本身的详细信息,无法提供通用且直接可用的代码示例。通常,您需要按照以下步骤操作(以Windows自带防火墙为例):

    • 确定游戏主进程及其可能的子进程。
    • 在防火墙中创建新规则,阻止这些进程的出站流量(或特定端口)。
    • 检查是否游戏有利用系统服务或其他已信任应用的情况,如有必要,对这些服务或应用也设置相应的防火墙规则。

    请参照以下简化版命令行概念(非完整代码)来理解如何创建规则:

    # 假设游戏主进程名为game.exe,其PID为12345
    New-NetFirewallRule -DisplayName "Block Game Outbound" `
      -Direction Outbound `
      -Action Block `
      -Program "C:\path\to\game.exe" `
      -Protocol TCP, UDP
    
    # 如果游戏在网络会话中切换至另一个进程,则需要添加该进程的规则
    New-NetFirewallRule -DisplayName "Block Game Subprocess" `
      -Direction Outbound `
      -Action Block `
      -Program "C:\path\to\subprocess.exe" `
      -Protocol TCP, UDP
    

    请您务必根据实际情况调整上述命令,并谨慎操作,避免影响其他正常网络通信。

    最后,请注意,滥用防火墙规则来妨碍游戏的正常运行并不符合网络安全原则,也不利于游戏体验的公平性。如果您是为了调试或研究目的,请确保遵守相关法律法规及游戏使用条款。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月27日
  • 创建了问题 2月27日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵