‘Xtreme 8.8’ highid client with multiple public IPs

正當大家在為得不到獨立IP,跑eMule拿不到高ID發愁之際,我倒是遇到一類標記為«Xtreme 8.8»的高ID客戶端,而且它不只一個IP,全是高ID。

之所以這麼定論,是因為以下幾點:

  1. 每一個這類高ID客戶端,都有一樣的用戶哈西(userhash),TCP端口一樣;
  2. 雖然IP不同,但IP基本在一個段內;
  3. 每一個客戶端連到同一個ed2k服務器;
  4. 用戶暱稱一樣,而Xtreme系列的用戶名內,在中括號中的部分,是啟動時隨機生成的;
  5. 行為上表現,如果你正從其中一個此類客戶端下載(源來自服務器),此時kad發現了另外一個高ID,太好了,連吧;結果一連下載就斷掉。

從這些表現上,基本可以判斷,這多個客戶端,其實是同一個eMule的實例,很可能用戶是採用了所謂「多撥」的方式,拿到了多個獨立IP,但這個mod在每一個IP所在的網絡界面上監聽,就形成了咱們所遇到的狀況,每個ID之間互相影響,尤其連接另外一個,將直接使得上傳或者下載中斷。

鑒於Xtreme版本號實際上到8.1就終止,這個mod可能是其他人自己私下弄出來的,利用了Xtreme本身對網絡界面的管理方式。

新的版本在處理來源的時候,將對偵測到的這種情況做特殊處理,在拿到多個高ID來源的情況下,還要看是否滿足觀察到的情況,根據這些條件進行判斷,若確定是此類情況,那麼會將多個高ID客戶端做一個客戶端處理。

這種「多撥」導致的情況還有一些,比如有時自己運行的電騾子請求kad的tcp端口檢測的時候,有時候會收到來自沒有請求IP的回應包,很可能就是向同一個客戶端的某個IP發出請求,而對方用另外一個監聽的IP發出響應而造成的。由於不影響下載,這種情況我們就不做特殊處理了。

Related posts

On ‘Wrong header’ Error during downloading of aMule v2.3.2 and later

在剛剛發布的CN新版,有關aMule v2.3.2及其以後版本在下載中容易因發生’Wrong header’底層錯誤中斷的問題,已經得到有效緩解。本文是為記述解決這一問題的歷程,並談談本人對一些程序開發規則方面的思考。

一、問題回顧

大概早期aMule v2.3.2發布之後一段時間,我就注意到下載時壞塊的情況增加,當時以為是比較爛的改裝版導致的。但後來通過分析verbose log,發現可能是aMule官方客戶端導致的。

一個log的例子如下:

2/1/2021 4:07:55 PM: Client TCP socket: Error: Wrong header; [email protected]

Latest posts

On ‘Wrong header’ Error during downloading of aMule v2.3.2 and later

在剛剛發布的CN新版,有關aMule v2.3.2及其以後版本在下載中容易因發生’Wrong header’底層錯誤中斷的問題,已經得到有效緩解。本文是為記述解決這一問題的歷程,並談談本人對一些程序開發規則方面的思考。

一、問題回顧

大概早期aMule v2.3.2發布之後一段時間,我就注意到下載時壞塊的情況增加,當時以為是比較爛的改裝版導致的。但後來通過分析verbose log,發現可能是aMule官方客戶端導致的。

一個log的例子如下:

2/1/2021 4:07:55 PM: Client TCP socket: Error: Wrong header; [email protected]

1 comment

  • 補充一點,根據這類mod多個實例均連接同一個服務器的表現來判斷,它很可能只通過其中一個ip連接服務器,同時自己以為是唯一的eMule實例(instance)。

    因此,遠端的客戶端從服務器拿到的 highid 源可能只有一個。

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *