中華電信上網時間管理研究與繞過

中華電信上網時間管理研究與繞過
你的網路已啟動『Hinet上網時間管理』防護
English version is availble here: https://blog.nicewhite.xyz/hinet_browsing_timelimit_research/

這啥?

這是一篇研究 中華電信上網時間管理 的文章

白話文就是破解它啦
當然僅供研究用途:P。

2024/9/10寫的,應該不會再更新。

等等,怎麼繞的?

yoni@yoni-A-Power-T200:~/icm2$ ping 1.1.1.1 -I enp3s0
PING 1.1.1.1 (1.1.1.1) from 192.168.1.106 enp3s0: 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=11.6 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=12.1 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=58 time=11.4 ms
64 bytes from 1.1.1.1: icmp_seq=4 ttl=58 time=11.5 ms
64 bytes from 1.1.1.1: icmp_seq=5 ttl=58 time=11.9 ms
^C
--- 1.1.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 11.374/11.708/12.115/0.275 ms

反正它不擋ICMP requests,我們用個tunnel繞就好。

須要的設備

  • 一個有獨立IP的Linux Server,建議用Ubuntu 或 Debian. 我這次是用 Lazco Cloud 的VPS .
  • Linux電腦當客戶端

Server 設定

  1. 在電腦和伺服器上從 SourceForge 下載 hans 並編譯
sudo apt-get install git build-essential screen
tar -xzf hans-version.tar.gz
cd hans-version
make
  1. 叫kernel不要回icmp echo request
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

開IP轉發

echo 1 | dd of=/proc/sys/net/ipv4/ip_forward

開tunnel 伺服器

./hans -s 10.1.2.0 -p <set a password>

然後tunnel 伺服器應該就上線了


客戶端設定

./hans -c server_address -p password

從tunnel嘗試連到google

curl google.com --interface tun0 

將使用者的所有流量(當然不包括 root)通過tunnel,然後測速。

sudo ip route flush table 502

sudo ip route add table 502 default dev tun0

sudo ip rule add uidrange $UID-$UID table 502

sleep 3

speedtest

現在,使用者的所有流量都應該會通過tunnel。

Q&A:

有些網站能正常運作,但有些仍然顯示 ERR_CONNECTION_RESET。
解決方法:在你的客戶端上停用 IPv6。

速度很慢
我原本的速度是 60M/20M,但繞過後,只有 0.9M/20M。
所以我猜測可能是因為中華電信的路由器,沒辦法處理大量ICMP 流量,或是你的伺服器太遠ping太高了。
你可以嘗試使用其他tunnel software(例如:esrrhs/pingtunnel)。
或者利用父母限制你上網的時間來學習networking

Happy Hacking.