• 沒有找到結果。

P2P 軟體比例研究方法

在文檔中 P2P軟體對網路影響之研究 (頁 48-51)

第四章 研究方法

4.2 P2P 軟體比例研究方法

我們針對以下幾個 P2P 應用軟體:eDonkey、eMule、BitTorrent(BT)、Kazaa、Kuro、

ezPeer 等,藉由攔截並分析網路上之封包,來分析這些 P2P 軟體在網路上使用的比率。

在 P2P 網路中所傳送的封包主要可以分成兩類,一種是控制訊號封包(signaling packet)另一種是資料封包(data packet)。控制訊號封包主要是點和點之間用來做溝通 的,如搜尋特定檔案、要求檔案下戴等,資料封包是用來傳輸下戴的檔案,也是 P2P 流 量的主要來源。下面將介紹我們對各種 P2P 軟體的這兩類封包特徵的分析。

eDonkey / eMule:

eDonkey 和 eMule 這兩種軟體使用同一種通訊協定,使用的預設通訊埠有 4661

~4665/tcp 和 4665/udp,資料的傳輸是透過 TCP,而控制訊息可以透過 TCP 也可以 經由 UDP 傳送。通訊協定的資料封包和控制封包開頭的第一個位元組的值是固定 的,eDonkey 封包開頭第一個位元組的值為“0xe3",而 eMule 是“0xc5"。在接 下來的 4 個位元組表示整個封包的長度,我們可以利用這 5 個位組來判定屬於 eDonkey / eMule 封包。

Kazaa:

Kazaa 底層所使用的通訊協定與 Fasttrack 相同,預設的通訊埠為 1214/tcp 和 1214/udp,但允許使用者自行設定軟體所使用的通訊埠。Kazaa 封包格式類似於 HTTP 封包格式,在辨別上比較困難。Kazaa 在檔案的傳輸上是利用 HTTP 協定中 的 GET 方法,但在 URL 的部分所代表的是要傳輸檔案的 hash 值,開頭字串為

“/.hash=",因此我們可以將字串“GET /.hash="做為其檔案傳輸封包的特徵。控 制封包的特徵比較明確,可以分成兩大類,第一種是控制封包內容大小為 5Bytes,

則其封包開頭字串為“0xc028"、“ 0x290000002901"、“0x280000002900"、

“0x2a"。

BitTorrent:

BitTorrent 是迅速增長的一個新興 P2P 軟體,所使用的通訊協定預設通訊埠為 6881~6999,當 BitTorrent 被執行時,會從最小的預設通訊埠開始嘗試開啟,若最 小的預設通訊埠無法取得,則會往上嘗試,直到最大的通訊埠。由於 BitTorrent 不 具搜尋的功能,檔案的定位及搜尋皆透過使用者分享出來的種子(seed)來完成,

因此並沒有搜尋檔案的控制封包,所以我們在辨別時主要是針對其檔案傳輸的封 包。BitTorrent 資料封包的開頭有固定的格式,第一個 Byte 為一固定值:“0x13",

接下來的 19 個 Bytes 代表一個固定的字串:“BitTorrent protocol",我們將這 20 個 Bytes 的值當作 BitTorrent 的封包特徵。

Kuro / ezPeer:

Kuro 和 ezPeer 為付費的 P2P 軟體,其所使用的通訊協定並沒有公開,所以我 們僅能以藉由觀察軟體時際在運做時所產生的封包,來定義封包特徵。

Kuro 所使用的預設通訊埠範圍介於 6600 和 6802,在使用 Kuro 時必須先付費,

取得帳號及密碼後才能進入 Kuro 網路進行檔案的下戴和分享。圖 27 為 Kruo 軟體 整個運作過程,在過程中所傳遞的封包開頭,每個步驟皆不同,但具有共同的格式

“?0B0"其中“?"會隨每個步驟而改變,我們可以此為 Kuro 的封包特徵。

圖 27 Kuro 運作流程

ezPeer 所使用的通訊埠範圍可以區分成三段,分別是 6800~6890、7880~7890、8860

~8890,ezPeer 也是必須經過認證才能登入 ezPeer 網路,進行檔案的搜尋和下戴。由於 ezPeer 使用者間,所傳輸的封包經過特殊的編碼處理,所以我們無法區分所傳送的是控 制封包或者是資料封包。經由觀察封包的原始資料,發現每個由 ezPeer 所產生的封包, eDonkey /eMule

0xc5

TCP/UDP 4661-4665

Kazaa

“GET /hash

0xc028, 0x290000002901, 0x280000002900, 0x270000002980,0xc1, 0x2a

TCP 1214

BitTorrent 0x13BitTorrent TCP 6881-6889

Kuro ?0B0 TCP 6600-6802

ezPeer 0x474e TCP/UDP

6800~6890 7880~7890 8860~8890 表 6 常見 P2P 軟體封包的開頭字串及預設通訊埠

在文檔中 P2P軟體對網路影響之研究 (頁 48-51)