SOCKS5 savienojuma kļūdu kodu lasīšana
Nosakiet, vai neizdevās SOCKS sarunas, autentifikācija vai mērķa sasniegšana, pirms katru SOCKS kļūdu uzskatāt par nestrādājošu starpniekserveri.
SOCKS5 serveris var pieņemt TCP savienojumu, bet tomēr noraidīt pieprasījumu sasniegt galamērķi. Izlasiet atbildi pareizajā posmā, pirms izlemjat, kurš galapunkts cieta neveiksmi.
Vispirms izvēlas metodi. Lietotājvārda un paroles autentifikācijai, ja tā izvēlēta, ir savs rezultāts. Tikai pēc tam serveris atgriež CONNECT vai citas SOCKS komandas atbildi. Viena posma baita vērtību nevar interpretēt ar cita posma tabulu.
Pieprasījumu atbildes nošķir dažādas kļūmes
| Atbildes vērtība | Nozīme SOCKS5 pieprasījuma atbildē |
|---|---|
| 0x01 | Vispārēja servera kļūme. |
| 0x02 | Noteikumu kopa neļauj savienojumu. |
| 0x03 | Tīkls nav sasniedzams. |
| 0x04 | Resursdators nav sasniedzams. |
| 0x05 | Savienojums noraidīts. |
| 0x06 | TTL beidzies. |
| 0x07 | Komanda netiek atbalstīta. |
| 0x08 | Adreses tips netiek atbalstīts. |
Piemēram, pieprasījuma līmeņa noraidījums tiek paziņots pēc SOCKS pakalpojuma sasniegšanas. Tas atšķiras no operētājsistēmas atteikuma sākotnējam TCP savienojumam ar šo pakalpojumu.
Adreses tipa kļūda var attiekties uz IPv4, IPv6 vai resursdatora nosaukuma attēlojumu. Tas automātiski nenozīmē, ka viss galapunkts neatbalsta SOCKS5. Tāpat neatbalstīta UDP komanda nesniedz galīgu secinājumu par atsevišķu TCP CONNECT pieprasījumu.
Apkopojiet kontekstu, kas padara kodu noderīgu
Rakstot kļūdas ziņojumu, kopā ar rezultātu saglabājiet starpniekservera adresi, komandu, mērķa resursdatoru un portu, adrešu saimi un DNS režīmu. Ja pārvaldāt galapunktu, noder servera politikas žurnāli. Noteikumu noraidījums prasa pārbaudīt piemērojamo atļauju, nevis palielināt savienojuma taimautu.
Atbilde ir servera ziņojums, nevis pilnīga neatkarīga mērķa tīkla diagnoze. Atšķiras arī klientu formulējums. Ja pieejams, reģistrējiet posmu un pamata atbildi, nevis paļaujieties tikai uz īsu tulkotu kļūdas ziņojumu.