Phantomsocks/修改方式

維基教科書,自由的教學讀本

修改方式[編輯]

修改方式是填在 config.jsoninterface 下的 hint 部分,部分可填入的修改方式有:

  • ipv6: 只使用 ipv6 連接
  • ipv4: 只使用 ipv4 連接
  • https: 強制使用 HTTPS 連接
  • http: 強制使用 HTTP 連接
  • h3: HTTPS記錄中添加h3並允許使用HTTP/3
  • s-seg: TCP連接的首包小於8位元組
  • w-md5: 發出的TCP包帶有錯誤的md5值
  • w-ack: 發出的TCP包帶有錯誤的確認碼
  • w-csum: 發出的TCP包帶有錯誤的校驗和
  • w-time: 發出的TCP包帶有錯誤的時間戳
  • w-seq: 發出的TCP包帶有錯誤的序號
  • tfo: 建立連接時使用TFO(TCP Fast Open)發送首包數據(僅windivert和pcap可用)
  • mode2: 以另一種順序注入TCP包
  • df: 發出的 TCP 包不會分段。(Don’t Fragment)
  • sat: 持續注入TCP包直到TLS握手完成
  • ttl: 發出的TCP包將使用下一段ttl中註明的TTL(Time To Live)
  • mss: 建立連接時修改MSS(Maximum segment size)

更多的修改方式請查詢源碼中pcap.goraw.gowindivert.go文件。

關於修改方式的評論[編輯]

在過去很長一段時間裏(2019-2022),防火長城都未能徹底封鎖某種修改方式,但在最近(2022年11月)筆者觀察到s-seg、w-md5、w-ack、w-time方法修改TCP包容易被重置,具體表現為打開某網頁時出現「連接被重置」錯誤,刷新幾次可能會遇到1-3次重置,之後一切正常,可以連接。而ttl方式看起來是最穩定的,筆者使用此方式沒有遇到重置。