3

簡単なBitTorrentクライアントを書いてみようと思います。もちろん読んだhttp://wiki.theory.org/BitTorrentSpecification。私は2人のクライアント間のコミュニケーションを分析することから始めました。次の16進ダンプの太字フォントの2つのフィールドの意味に問題があります。


DelugeからrTorrentに送信される最初のパケット:

0000000013|。| -プロトコル名の長さ(1)-0x13 = 19

00000000 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 | BitTorrent prot | -プロトコル名(19)
00000010 6f 63 6f 6c | ocol |

00000010 00 00 00 00 00 18 00 05 | ........ | -予約済み拡張バイト(8)

00000010 ab 20 ef 66 | 。.f | --info_hash(20)
00000020 c8 ee de 47 99 a2 75 40 20 75 ee 7b c6 4e 2f dd | ... G..u@u。{。N/。|   


00000030 2d 44 45 31 33 33 30 2d 42 6c 78 37 6c 69 7a 7e | -DE1330-Blx7liz〜| --peer_id(20)
00000040 4a 54 2e 6a | JT.j | デリュージ1.3.3

rTorrentからDelugeへの回答:

0000000013|。| -プロトコル名の長さ(1)-0x13 = 19

00000000 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 | BitTorrent prot | -プロトコル名(19)
00000010 6f 63 6f 6c | ocol |

00000010 00 00 00 00 00 10 00 00 | ........ | -予約済み拡張バイト(8)

00000010 ab 20 ef 66 | 。.f | --info_hash(20)
00000020 c8 ee de 47 99 a2 75 40 20 75 ee 7b c6 4e 2f dd | ... G..u@u。{。N/。|

00000030 2d 6c 74 30 43 39 30 2d b6 eb 22 ae 31 e3 89 90 |-lt0C90-.."。1...| --peer_id(20)
00000040 2a 9b af a9 | * ... | libTorrent(rakshasa)0.12.9

00000040 00 00 00 6e | ... n | -メッセージの長さ?(4)-0x6E = 110

00000040                            14 00                     | .. | -何か(2)-メッセージID?

00000040 64 31 3a 65 69 30 | d1:ei0 | -ベンコード辞書(108)
00000050 65 31 3a 6d 64 31 31 3a 75 74 5f 6d 65 74 61 64 | e1:md11:ut_metad | {'e':0、
00000060 61 74 61 69 32 65 36 3a 75 74 5f 70 65 78 69 31 | atai2e6:ut_pexi1 | 'metadata_size':1702、
00000070 65 65 31 33 3a 6d 65 74 61 64 61 74 61 5f 73 69 | ee13:metadata_si | 'm':{'ut_metadata':2、'ut_pex':1}、
00000080 7a 65 69 31 37 30 32 65 31 3a 70 69 35 30 30 39 | zei1702e1:pi5009 | 'reqq':2048、
00000090 34 65 34 3a 72 65 71 71 69 32 30 34 38 65 31 3a | 4e4:reqqi2048e1:| 'p':50094、
000000a0 76 31 37 3a 6c 69 62 54 6f 72 72 65 6e 74 20 30 | v17:libTorrent 0 | 'v':'libTorrent 0.12.9'}
000000b0 2e 31 32 2e 39 65 | .12.9e |        

000000b0                     00 00 00 0c 05                  | ..... | -何か(5)-チェックサム?
4

0 に答える 0