2010-04-08 26 views
2

我正在嘗試獲取提供或下載文件的IP地址列表。我所做的就是聯繫跟蹤器像openbittorrent.com得到以下(作爲刮文件的一部分):獲取Bittorrent中的IP地址

B%00%00%0C%5F%B1%B1l%CAGa%84S%CB%B0%9BG%84%3BE:0:1 

現在,在開始的長字符串是信息的哈希。作爲下一步,我做到了這一點:

http://tracker.sometracker.com/announce?info_hash=B%00%00%0C%5F%B1%B1l%CAGa%84S%CB%B0%9BG%84%3BE 

它讓我回到以下。到現在爲止還挺好。該消息包含在此:

d8:completei0e10:downloadedi0e10:incompletei2e8:intervali1931e12:min intervali965e5:peers12:U���ٿ��ӣǣ^@^@e 

誰能告訴我我應該在此之後怎樣做才能獲得IP地址,目前服務於文件或下載呢?

回答

2

這不是一個torrent文件,這是一個公告響應。它們都是bencode(使用bencode來解碼它們),但是通告響應僅包含對等信息。沒有足夠的信息來下載洪流的內容:要做到這一點,你需要洪流文件本身。

該編碼字典的peers成員包含6個字節的組,您可以使用struct進行解壓縮。前四個字節是IP地址,後面跟着端口的兩個字節。這是一個緊湊的通告響應,這很常見(但顯然只有IPv4)。你也可以看到非緊湊的答案,它給你一個透明的字典。

今天許多跟蹤者不會與您發送的非特定刮報聲明或最初宣告請求不包含compact,portevent。在繼續之前,您應該稍微閱讀the protocol

+0

非常感謝那..讚賞鏈接以及.. – Legend 2010-04-09 01:26:46