Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
375 lvd 1
/*
2
+0: len of payload N (0..255)
480 lvd 3
+1: channel number (0..239, 240-255 are control channels)
375 lvd 4
+2..+N+2: payload (0..255 bytes)
5
+N+3..+N+4: crc16 ccitt big-endian of preceding bytes
6
 
7
reset sequence:
8
repeating  01 FF 00 F8 53
9
where:
10
01 - length of payload
11
FF - control channel
12
00 - payload of single zero byte
13
F853 - crc of 01FF00
14
*/
15
 
16
 
17
 
18
╧ЁюЄюъюы zxinet яЁхфэрчэрўхэ фы  ёт чш ъюья№■ЄхЁр ZX-Spectrum (т фры№эхщ°хь -
19
ъюья№■ЄхЁ) ё ёхЄхт√ь ъюэЄЁюыыхЁюь (т фры№эхщ°хь - ъюэЄЁюыыхЁ), яЁхфюёЄрты ■∙шь
20
яЁшъырфэ√ь яЁюуЁрььрь тючьюцэюёЄ№ ёюхфшэхэш  ё ёхЄ№■ яю яЁюЄюъюырь tcp ш udp.
21
 
22
┬ючьюцэюёЄш яЁюЄюъюыр:
480 lvd 23
1) ёєььрЁэюх ўшёыю юЄъЁ√Є√ї ёюъхЄют: юЄ 4 фю 240 (ърцф√щ ъюэЄЁюыыхЁ шьххЄ ётюх
376 lvd 24
   юуЁрэшўхэшх)
375 lvd 25
2) TCP-ёюхфшэхэшх ё тэх°эшь рфЁхёюь (CONNECT)
26
3) яЁюёыє°штрэшх яюЁЄр ш єёЄрэютыхэшх TCP-ёюхфшэхэш  эр ыюъры№эюь рфЁхёх (BIND)
27
4) ъюэЄЁюы№ ЎхыюёЄэюёЄш схч тюёёЄрэютыхэш 
28
 
29
 
30
 1. ╤т ч№ ъюья№■ЄхЁр ё ёхЄхт√ь ъюэЄЁюыыхЁюь яЁюшёїюфшЄ яєЄ╕ь фтєёЄюЁюээхую
31
юсьхэр яюЄюърьш срщЄ. ╧ЁхфяюырурхЄё , ўЄю ёє∙хёЄтє■Є тючьюцэюёЄш фы  єяЁртыхэш 
32
¤Єшьш яюЄюърьш: т ёЄюЁюэє юЄ ъюья№■ЄхЁр ъ ъюэЄЁюыыхЁє - тючьюцэюёЄ№ ъюэЄЁюыыхЁє
33
яЁшюёЄрэютшЄ№ фры№эхщ°шщ яЁш╕ь (эряЁшьхЁ, шч-чр яхЁхяюыэхэш  сєЇхЁр
34
ъюэЄЁюыыхЁр), т ёЄюЁюэє юЄ ъюэЄЁюыыхЁр ъ ъюья№■ЄхЁє - тючьюцэюёЄ№ ъюья№■ЄхЁє
35
юяЁхфхышЄ№ юЄёєЄёЄтшх шыш эрышўшх эют√ї срщЄ т яюЄюъх. ╩юэЄЁюыыхЁ сєЇхЁшчєхЄ ш
36
яЁшюёЄрэртыштрхЄ яюЄюъ срщЄ т ёЄюЁюэє ъюья№■ЄхЁр т ёыєўрх, хёыш ъюья№■ЄхЁ эх
37
яЁюшчтюфшЄ ёўшЄ√трэшх ётюхую яюЄюър (яюЄюър ъюэЄЁюыыхЁ->ъюья№■ЄхЁ).
38
 
39
╬сьхэ фрээ√ьш яЁюшёїюфшЄ яюёЁхфёЄтюь яръхЄют, эрїюф ∙шїё  т яюЄюъх срщЄ. ╘юЁьрЄ
40
яръхЄр:
41
 
42
╤юфхЁцшьюх яюы      |  ─ышэр яюы , срщЄ
43
--------------------+--------------------------
44
 фышэр яюыхчэющ     |
45
 эруЁєчъш N,        |       1
46
 N=0..255           |
47
--------------------+--------------------------
48
 эюьхЁ ърэрыр,      |
49
 0..255             |       1
50
                    |
51
--------------------+--------------------------
52
                    |
53
 яюыхчэр  эруЁєчър  |       N (0..255)
54
                    |
55
--------------------+--------------------------
56
 CRC16 ccitt тёхї   |
57
 яЁхф√фє∙шї яюыхщ,  |       2
58
 big-endian         |
59
--------------------+--------------------------
60
 
61
 
62
─ы  юЄъЁ√Єш  юЄфхы№эюую TCP-ёюхфшэхэш  эхюсїюфшью юЄъЁ√Є№
63
ърэры ёт чш ё ъюэЄЁюыыхЁюь, т Ёрьърї ъюЄюЁюую сєфхЄ яЁюшёїюфшЄ№ ЁрсюЄр ё
64
ёюхфшэхэшхь.
480 lvd 65
─юёЄєяэ√ ърэры√ ё эюьхЁрьш 00..EF, ърэры√ F0-FF  ты ■Єё  ёыєцхсэ√ьш ш яЁхфэрчэрўхэ√
375 lvd 66
фы  єяЁртыхэш  юёЄры№э√ьш ърэрырьш (юЄъЁ√Єшх/чръЁ√Єшх, чряЁюё ёЄрЄєёр ш Є.ф.) ш
480 lvd 67
ъюэЄЁюыыхЁюь т Ўхыюь. ┬ эрёЄю ∙шщ ьюьхэЄ шёяюы№чєхЄё  Єюы№ъю ёыєцхсэ√щ ърэры FF.
375 lvd 68
 
69
╩рцф√щ ърэры яюфЁрчєьхтрхЄ яръхЄ√, эряЁртыхээ√х т юсх ёЄюЁюэ√
70
(ъюья№■ЄхЁ->ъюэЄЁюыыхЁ ш ъюэЄЁюыыхЁ->ъюья№■ЄхЁ), шьх■∙шх юфшэръют√щ эюьхЁ
71
ърэрыр. ┬ Ёрьърї юфэюую ърэрыр яЁюшёїюфшЄ юсьхэ эхёЄЁєъЄєЁшЁютрээ√ьш (Є.х.
480 lvd 72
уЁрэшЎ√ яръхЄют эх шьх■Є ёь√ёыр) яюЄюърьш срщЄ т юсх ёЄюЁюэ√. ╚ёъы■ўхэшхь
73
 ты ■Єё  ёыєцхсэ√х ърэры√, уфх яЁюшчтюфшЄё  шьхээю юсьхэ ёююс∙хэш ьш, шьх■∙шьш
375 lvd 74
юяЁхфхы╕ээє■ фышэє ш ёЄЁєъЄєЁє.
75
 
76
╧ръхЄ√ эєыхтющ фышэ√ т яюы№чютрЄхы№ёъшї ърэрырї шьх■Є ёяхЎшры№э√щ ёь√ёы (юс
77
¤Єюь эшцх), т ёыєцхсэюь ърэрых Єръшх яръхЄ√ шуэюЁшЁє■Єё .
78
 
79
 2. ╘юЁьрЄ ёююс∙хэшщ ёыєцхсэюую (#FF) ърэрыр
80
 
81
╧Ёшьхўрэшх: яЁштюф Єё  Єюы№ъю ёрьш ёююс∙хэш , схч "юс╕ЁЄъш" (чруюыютър ш CRC).
82
╤ююс∙хэшх ёюёЄрты хЄ яюыхчэє■ эруЁєчъє яръхЄр.
83
 
84
═ряЁртыхэшх ъюья№■ЄхЁ->ъюэЄЁюыыхЁ:
85
 
86
╧хЁт√щ срщЄ ёююс∙хэш  тёхуфр юяЁхфхы хЄ ъюьрэфє, яюё√ырхьє■ ъюэЄЁюыыхЁє.
87
═рышўшх яюёыхфє■∙шї срщЄ (рЁуєьхэЄют) ш шї чэрўхэшх юяЁхфхы хЄё  ъюьрэфэ√ь
88
срщЄюь.
89
 
90
╤яшёюъ ъюьрэф:
91
 
376 lvd 92
#00 - ъюьрэфр чряЁюёр шэшЎшрышчрЎшш (ю яЁюЎхфєЁх шэшЎшрышчрЎшш ёь. эшцх).
375 lvd 93
 
480 lvd 94
#01 N - чряЁюё ёЄрЄєёр ърэрыр N (00..EF)
375 lvd 95
 
480 lvd 96
#02 N - юЄъЁ√Єшх ърэрыр N (00..EF)
375 lvd 97
 
98
#03 N - чръЁ√Єшх ърэрыр N, рэрыюушўэю #02
99
 
480 lvd 100
┬эшьрэшх! ъюьрэф√ #01, #02 ш #03 ё эюьхЁрьш ърэрыют F0-FF шуэюЁшЁє■Єё  ъюэЄЁюыыхЁюь
375 lvd 101
ш юёЄр■Єё  схч юЄтхЄр.
102
 
103
#04 - чряЁюё ьръёшьры№эюую ўшёыр юЄъЁ√Є√ї ърэрыют, яюффхЁцштрхь√ї ъюэЄЁюыыхЁюь.
104
╩юэЄЁюыыхЁ юс чрэ яюффхЁцштрЄ№ эх ьхэхх 4 юфэютЁхьхээю юЄъЁ√Є√ї ърэрыют, схч
105
яЁшт чъш ъ ъюэъЁхЄэ√ь эюьхЁрь ърэрыют.
106
 
376 lvd 107
#FF - ъюьрэфр яюфЄтхЁцфхэш  шэшЎшрышчрЎшш.
375 lvd 108
 
376 lvd 109
 
375 lvd 110
═ряЁртыхэх ъюэЄЁюыыхЁ->ъюья№■ЄхЁ:
111
 
112
└эрыюушўэю, яхЁт√щ срщЄ юяЁхфхы хЄ Єшя юЄтхЄр шыш ъюьрэфє, эрышўшх юёЄры№э√ї
113
срщЄ юяЁхфхы хЄё  яхЁт√ь.
114
 
115
╤яшёюъ ъюьрэф:
116
 
376 lvd 117
#00 - ъюьрэфр чряЁюёр шэшЎшрышчрЎшш
375 lvd 118
 
119
#01 N X (3 срщЄр) - ёЄрЄєё ърэрыр N. ┬√фр╕Єё  т юЄтхЄ эр ъюьрэф√ #01, #02, #03;
120
т ёыєўрх чръЁ√Єш  ърэрыр яю шэшЎшрЄштх ъюэЄЁюыыхЁр, р Єръцх яЁш яюя√Єъх
121
ъюья№■ЄхЁр яюё√ырЄ№ фрээ√х т чръЁ√Є√щ ърэры.
122
 
123
╘юЁьрЄ срщЄр X:
124
 
125
сшЄ7 - ==1: ърэры юЄъЁ√Є, ==0: ърэры чръЁ√Є. яЁшёєЄёЄтєхЄ тю тёхї ёЄрЄєёэ√ї
126
ёююс∙хэш ї
127
 
128
сшЄ6 - ==1: ърэры с√ы єёях°эю юЄъЁ√Є шыш чръЁ√Є яю шэшЎшрЄштх ъюья№■ЄхЁр.
129
╧ЁшёєЄёЄтєхЄ Єюы№ъю т юЄтхЄрї эр єёях°эю т√яюыэхээ√х ъюьрэф√ #02 ш #03. ┼ёыш т
130
юЄтхЄ эр ъюьрэфє #02 яЁшїюфшЄ ёЄрЄєё: сшЄ7=0, сшЄ6=0, сшЄ1=0, Єю ърэры эх ьюцхЄ
131
с√Є№ юЄъЁ√Є яю ъръшь-ышсю яЁшўшэрь эр ёЄюЁюэх ъюэЄЁюыыхЁр.
132
 
133
сшЄ5 - ==1: ърэры с√ы чръЁ√Є яю шэшЎшрЄштх ъюэЄЁюыыхЁр. ┬ьхёЄх ё сшЄюь 7 ==0
134
яЁшёєЄёЄтєхЄ т ёЄрЄєёэюь ёююс∙хэшш, ъюЄюЁюх юфэюъЁрЄэю яюё√ырхЄё  т ёыєўрх
135
чръЁ√Єш  ърэрыр яю шэшЎшрЄштх ъюэЄЁюыыхЁр.
136
 
376 lvd 137
сшЄ1 - ==1: яюя√Єър юЄъЁ√Єш  єцх юЄъЁ√Єюую шыш чръЁ√Єш  єцх чръЁ√Єюую ърэрыр.
138
╧ЁшёєЄёЄтєхЄ Єюы№ъю т юЄтхЄрї эр ю°шсюўэ√х ъюьрэф√ #02 ш #03.
139
 
375 lvd 140
сшЄ0 - ==1: яюя√Єър яюёырЄ№ фрээ√х т чръЁ√Є√щ ърэры. ┬ьхёЄх ё сшЄюь 7 =0
141
 ты хЄё  юЄтхЄюь эр яюё√ыъє фрээ√ї т чръЁ√Є√щ яюы№чютрЄхы№ёъшщ ърэры.
142
 
143
 
144
#04 N - юЄтхЄ эр ъюьрэфє #04, N - ьръёшьры№эюх ўшёыю юфэютЁхьхээю юЄъЁ√Є√ї
480 lvd 145
ърэрыют, ъюЄюЁюх яюффхЁцштрхЄ ъюэЄЁюыыхЁ. N=4..240.
375 lvd 146
 
376 lvd 147
#FF - ъюьрэфр яюфЄтхЁцфхэш  шэшЎшрышчрЎшш.
375 lvd 148
 
149
 
480 lvd 150
╩рцф√щ тэют№ юЄъЁ√Є√щ ърэры т√уы фшЄ, ъръ тэют№ юЄъЁ√Єюх TCP-ёюхфшэхэшх ё SOCKS-5
375 lvd 151
ёхЁтхЁюь схч рєЄхэЄшЇшърЎшш (http://ru.wikipedia.org/wiki/SOCKS,
152
http://rfc2.ru/1928.rfc).
153
 
154
╧ръхЄ эєыхтющ фышэ√ т юЄъЁ√Єюь яюы№чютрЄхы№ёъюь ърэрых Ёртэюёшыхэ т√чютє
155
shutdown [ЄєЄ эрфю єЄюўэшЄ№] ёЄюЁюэющ, яюёырт°хщ яръхЄ ш ючэрўрхЄ, ўЄю сюы№°х
480 lvd 156
фрээ√ї т фрээюь эряЁртыхэшш яюёЄєярЄ№ эх сєфхЄ, эю ёюхфшэхэшх юёЄр╕Єё  юЄъЁ√Є√ь
157
т юфэюёЄюЁюээхь Ёхцшьх. ╧юёыхфє■∙шх яюя√Єъш яюёырЄ№ ъръшх-ышсю фрээ√х т чръЁ√Єюь
158
эряЁртыхэшш сєфєЄ шуэюЁшЁютрЄ№ё . ╟ръЁ√Єшх ърэрыр (яю шэшЎшрЄштх ъюэЄЁюыыхЁр шыш
159
ъюья№■ЄхЁр) Ёртэюёшы№эю т√чтрээюьє close. ╧Ёш ¤Єюь ьюуєЄ яюЄхЁ Є№ё  эхъюЄюЁ√х
160
яюёырээ√х, эю эх фюёЄшу°шх рфЁхёрЄр фрээ√х т TCP-ёюхфшэхэшш. ╧юёых °рЄфрєэют ё
161
юсюшї ёЄюЁюэ яЁюшёїюфшЄ чръЁ√Єшх ърэрыр яю шэшЎшрЄштх ъюэЄЁюыыхЁр ё
162
√ёююЄтхЄёЄтє■∙шь ёЄрЄєёэ√ь ёююс∙хэшхь.
375 lvd 163
 
164
 
165
 
166
╧ЁюЎхфєЁр шэшЎшрышчрЎшш.
167
 
376 lvd 168
╚эшЎшрышчрЎш  яЁюшёїюфшЄ яЁш яхЁтюэрўры№эюь єёЄрэютыхэшш ёт чш ъюья№■ЄхЁр ё
169
ъюэЄЁюыыхЁюь, ышсю яЁш яюыєўхэшш ю°шсюўэюую яръхЄр (ё эхяЁртшы№э√ь CRC). ┬
170
яхЁтюь ёыєўрх шэшЎшрышчрЎш  яЁютюфшЄё  яю шэшЎшрЄштх ъюья№■ЄхЁр, тю тЄюЁюь - яю
171
шэшЎшрЄштх юсэрЁєцшт°хую ю°шсюўэ√щ яръхЄ.
375 lvd 172
 
376 lvd 173
╚эшЎшрышчрЎш  яЁютюфшЄё  ёыхфє■∙шь юсЁрчюь:
174
 
175
1. чрърэўштрхЄё  яхЁхфрўр Єхъє∙хую яръхЄр (хёыш т ьюьхэЄ эрўрыр шэшЎшрышчрЎшш
176
   ъръющ-Єю яръхЄ х∙╕ яхЁхфртрыё )
177
 
480 lvd 178
2. ╬Єё√ыр■Єё  яютЄюЁ ■∙шхё  ъюьрэф√ чряЁюёр шэшЎшрышчрЎшш (яръхЄ тьхёЄх ё
179
   чруюыютъюь ш CRC: #01 #FF #00 #F8 #53).
376 lvd 180
 
181
3. фхщёЄтшх 2 яЁютюфшЄё  фю ьюьхэЄр яюыєўхэш  т юЄтхЄ ъюьрэф√ чряЁюёр шыш
182
   яюфЄтхЁцфхэш  шэшЎшрышчрЎшш (яръхЄр #01 #FF #00 #F8 #53 шыш яръхЄр
183
   #01 #FF #FF #E6 #A3)
184
 
185
╧юёыхфютрЄхы№эюёЄ№ яютЄюЁ ■∙шїё  яръхЄют #01 #FF #00 #F8 #53 шыш
186
#01 #FF #FF #E6 #A3 юсырфрхЄ ётющёЄтюь ёрьюёшэїЁюэшчрЎшш, Є.х. шэЄхЁяЁхЄшЁє  ¤Єє
187
яюёыхфютрЄхы№эюёЄ№ ё яЁюшчтюы№эюую ьхёЄр ш юЄсЁрё√тр  яюыєўр■∙шхё  яръхЄ√ ё
188
эхтхЁэющ CRC, ўхЁхч эхъюЄюЁюх тЁхь  яЁш╕ьэшъ чрёшэїЁюэшчшЁєхЄё  ш ёЄрэхЄ
189
яЁшэшьрЄ№ Єюы№ъю тхЁэ√х єърчрээ√х яръхЄ√.
190
 
191
┬ю тЁхь  ёрьюёшэїЁюэшчрЎшш ЄЁхсєхЄё  юЄё√ыър эхёъюы№ъшї яютЄюЁ ■∙шїё  яръхЄют ё
192
Ўхы№■ яЁюяєёър ърцфюую шч эхтхЁэю яЁшэшьрхь√ї яръхЄют.
193
 
194
4. ╚эшЎшрышчрЎш  чртхЁ°хэр.
195
 
196
 
197
╧юёых чртхЁ°хэш  шэшЎшрышчрЎшш тёх юЄъЁ√Є√х эр ьюьхэЄ эрўрыр шэшЎшрышчрЎшш
198
ърэры√ фюыцэ√ ёЄрЄ№ чръЁ√Є√ьш ъръ ёю ёЄюЁюэ√ ъюья№■ЄхЁр, Єръ ш ёю ёЄюЁюэ√
199
ъюэЄЁюыыхЁр.
200
 
201
 
202
╩юья№■ЄхЁ фюыцхэ с√Є№ т ы■сющ ьюьхэЄ уюЄют ъ яЁюЎхфєЁх
203
шэшЎшрышчрЎшш ёю ёЄюЁюэ√ ъюэЄЁюыыхЁр. ─ы  ¤Єюую, т ёыєўрх яюыєўхэш  яръхЄр
204
#01 #FF #00 #F8 #53 ъюья№■ЄхЁ тїюфшЄ т яЁюЎхфєЁє шэшЎшрышчрЎшш, ёсЁрё√трхЄ
205
тёх юЄъЁ√Є√х ърэры√ ш юЄтхўрхЄ яръхЄюь #01 #FF #FF #E6 #A3
206
 
207
┬ ёыєўрх, хёыш т ьюьхэЄ яЁюЎхфєЁ√ шэшЎшрышчрЎшш яЁюшчю°╕ы ёсющ (юфэр шч ёЄюЁюэ
208
яЁшэ ыр эхтхЁэ√щ яръхЄ), Єю фры№эхщ°р  шэшЎшрышчрЎш  яЁюфюыэрхЄё  юфэютЁхьхээю
209
юсюшьш ёЄюЁюэрьш, юЄё√ыр■∙шьш яръхЄ√ чряЁюёр шэшЎшрышчрЎшш, фю ьюьхэЄр
210
ёрьюёшэїЁюэшчрЎшш ё юсюшї ёЄюЁюэ.
211
 
212