关于绕过移动屏蔽的技术方法详解
July 27, 2025 ・0 comments
该方法最早在去年推出,去年年底曾有消息称其已失效,但经实际多次测试与体验,目前已恢复可用,能稳定实现绕过移动屏蔽的效果。此方法操作对象为已安装节点且正常运行的服务器(行业内常称 “小鸡”),具体步骤如下:
步骤一:准备工作
确保你的 “小鸡” 处于正常运行状态。你可以通过远程连接工具(如 Xshell、Putty 等)尝试登录服务器终端界面,若能成功登录,说明 “小鸡” 状态正常,可进行后续操作。
步骤二:获取代码文件内容
cat <<'EOF' >geneva.py
#!/usr/bin/env python3
import os
import signal
from scapy.all import *
from netfilterqueue import NetfilterQueue
import argparse
window_size = 4
def modify_window(pkt):
try:
ip = IP(pkt.get_payload())
if ip.haslayer(TCP) and ip[TCP].flags == "SA":
ip[TCP].window = window_size
del ip[IP].chksum
del ip[TCP].chksum
pkt.set_payload(bytes(ip))
elif ip.haslayer(TCP) and ip[TCP].flags == "FA":
ip[TCP].window = window_size
del ip[IP].chksum
del ip[TCP].chksum
pkt.set_payload(bytes(ip))
elif ip.haslayer(TCP) and ip[TCP].flags == "PA":
ip[TCP].window = window_size
del ip[IP].chksum
del ip[TCP].chksum
pkt.set_payload(bytes(ip))
elif ip.haslayer(TCP) and ip[TCP].flags == "A":
ip[TCP].window = window_size
del ip[IP].chksum
del ip[TCP].chksum
pkt.set_payload(bytes(ip))
except:
pass
pkt.accept()
def parsearg():
parser = argparse.ArgumentParser(description='Description of your program')
parser.add_argument('-q', '--queue', type=int, help='iptables Queue Num')
parser.add_argument('-w', '--window_size', type=int, help='Tcp Window Size')
args = parser.parse_args()
if args.queue is None or args.window_size is None:
exit(1)
window_size = args.window_size
return args.queue
def main():
queue_num = parsearg()
nfqueue = NetfilterQueue()
nfqueue.bind(queue_num, modify_window)
try:
print("Starting netfilter_queue process...")
nfqueue.run()
except KeyboardInterrupt:
pass
if __name__ == "__main__":
#sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
signal.signal(signal.SIGINT, lambda signal, frame: sys.exit(0))
main()
EOF
安裝依賴:
yum install -y python3 python3-devel gcc gcc-c++ git libnetfilter* libffi-devel
pip3 install --upgrade pip
pip3 install scapy netfilterqueue
執行程序:
nohup python3 geneva.py -q 100 -w 4 &
iptables -I OUTPUT -p tcp -m multiport --sports 80,443 --tcp-flags SYN,RST,ACK,FIN,PSH SYN,ACK -j NFQUEUE --queue-num 100步骤三:执行 “安装依赖” 上方内容
- 在浏览器中选中 “安装依赖” 上方的所有内容,选中后右键点击,选择 “复制” 选项。
- 切换到已成功登录 “小鸡” 的远程连接工具终端界面,右键点击终端空白处,选择 “粘贴”,将复制的内容粘贴到终端中。
- 粘贴完成后,按下键盘上的 “回车键”,系统会自动执行该部分代码,完成相应的配置操作。在此过程中,终端会显示执行进度和相关信息,你只需等待执行完成即可。
步骤四:执行 “安装依赖” 下方内容
- 回到浏览器中,找到 “安装依赖” 下方的内容,这些内容是一系列独立的命令。
- 选中第一条命令,右键点击选择 “复制”,然后切换到终端界面,右键粘贴该命令,按下 “回车键” 执行。
- 等待第一条命令执行完成(终端不再有新的信息输出,且出现命令输入提示符)后,再按照同样的方法复制第二条命令,粘贴到终端并执行。
- 重复上述操作,直到 “安装依赖” 下方的所有命令都被逐行复制并执行完毕。
步骤五:了解技术原理与延伸方法
- 延伸方法:除上述方法外,还有使用 Go 语言实现绕过移动屏蔽的方法,项目地址为https://github.com/linwoodpendleton/gogo2。Go 语言简洁高效、并发性能好,该项目基于其特性实现了类似的绕过逻辑,也能达到目的。
实际上,只要深入理解上述技术帖阐述的核心原理,即网络请求的跳转机制、数据传输的封装与解析等关键技术点,就能举一反三,衍生出多种实现方法。这些方法虽在编程语言和代码实现上有差异,但本质围绕相同技术原理,通过对网络传输过程进行特定处理,实现绕过移动屏蔽的效果。
內容來自HOSTLOC作者:番職男孩
Post a Comment
If you can't commemt, try using Chrome instead.