SOCKS5-yhteysvirhekoodien tulkitseminen
Selvitä, epäonnistuiko SOCKS-neuvottelu, todennus vai kohdeyhteys, ennen kuin pidät jokaista SOCKS-virhettä kuolleena välityspalvelimena.
SOCKS5-palvelin voi hyväksyä TCP-yhteyden mutta silti hylätä pyynnön päästä kohteeseen. Lue vastaus oikeassa vaiheessa ennen kuin päätät, mikä päätepiste epäonnistui.
Ensin valitaan menetelmä. Käyttäjätunnus- ja salasanatodennuksella on oma tuloksensa, jos se valitaan. Vasta sen jälkeen palvelin vastaa CONNECT- tai muuhun SOCKS-komentoon. Yhden vaiheen tavuarvoa ei voi tulkita toisen vaiheen taulukolla.
Pyyntövastaukset erottelevat virheitä
| Vastausarvo | Merkitys SOCKS5-pyyntövastauksessa |
|---|---|
| 0x01 | Yleinen palvelinvirhe. |
| 0x02 | Säännöstö ei salli yhteyttä. |
| 0x03 | Verkkoa ei tavoiteta. |
| 0x04 | Konetta ei tavoiteta. |
| 0x05 | Yhteys torjuttu. |
| 0x06 | TTL vanhentunut. |
| 0x07 | Komentoa ei tueta. |
| 0x08 | Osoitetyyppiä ei tueta. |
Esimerkiksi pyyntötason torjunta ilmoitetaan sen jälkeen, kun SOCKS-palvelu on tavoitettu. Se eroaa siitä, että käyttöjärjestelmä torjuu ensimmäisen TCP-yhteyden palveluun.
Osoitetyyppivirhe voi koskea IPv4-, IPv6- tai konenimiesitystä. Se ei automaattisesti tarkoita, ettei koko päätepiste tukisi SOCKS5:tä. Samoin tukematon UDP-komento ei anna varmaa johtopäätöstä erillisestä TCP CONNECT -pyynnöstä.
Kerää konteksti, joka tekee koodista hyödyllisen
Kun kirjoitat virheraporttia, säilytä tuloksen mukana välityspalvelimen osoite, komento, kohdekone ja portti, osoiteperhe ja DNS-tila. Palvelimen käytäntölokit auttavat, jos hallinnoit päätepistettä. Säännöstön torjunta edellyttää soveltuvan luvan tarkistamista, ei yhteyden aikakatkaisun pidentämistä.
Vastaus on palvelimen raportti, ei täydellinen riippumaton kohdeverkon diagnoosi. Myös asiakkaiden sanamuodot vaihtelevat. Kirjaa vaihe ja alkuperäinen vastaus, kun ne ovat saatavilla, sen sijaan että luottaisit vain lyhyeen käännettyyn virheviestiin.