Otvorený TCP port nedokazuje, že proxy funguje
Úspešná kontrola portu iba nadviaže spojenie. Overte aj handshake proxy a očakávanú odpoveď cieľa.
Otvorený TCP port znamená, že naslúchajúca služba prijala spojenie. Môže ísť o proxy, bežný webový server alebo inú službu; port 8080 neurčuje protokol.
Pre koncový bod opísaný ako HTTP proxy použite skutočnú adresu v časovo ohraničenej požiadavke HTTPS:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/
Dokumentačnú adresu nahraďte vlastným HTTP koncovým bodom alebo kandidátom zo zoznamu HTTP proxy. Pre SOCKS použite príslušný režim klienta SOCKS a dokončite vyjednávanie. Nesprávny handshake môže zlyhať ihneď po prijatí TCP.
| Pozorovaná fáza | Čo dokazuje |
|---|---|
| TCP prijaté | Naslúchajúca služba je dosiahnuteľná. |
| Handshake proxy prijatý | Naslúchajúca služba prijala túto operáciu proxy. |
| TLS cieľa overené | Klient dokončil zamýšľané zabezpečené spojenie podľa svojich nastavení dôvery. |
| Očakávaný stav a obsah prijaté | Požiadavka aplikácie priniesla očakávaný výsledok. |
Pre HTTPS cez HTTP proxy musí byť povolený CONNECT na cieľový port. Aj CONNECT 200 je medzifáza: tunel sa môže zavrieť pred úspechom TLS alebo konečnej požiadavky. Úspech nešifrovaného HTTP túto schopnosť tunelovania nedokazuje.
Použite cieľ s predvídateľným obsahom, najlepšie pod vlastnou kontrolou, a ak je dostupný, skontrolujte záznam požiadavky. Nešifrovaný HTTP listener môže vrátiť pevnú stránku so stavom 200 bez kontaktovania cieľa. Ľubovoľný úspešný stav je slabší dôkaz než zhoda s očakávanou odpoveďou; overenie identity HTTPS pridáva ochranu.
Zaznamenajte poslednú úspešnú fázu. „Port otvorený, vyjednávanie SOCKS odmietnuté“ dá ďalšiemu skúmaniu užitočný východiskový bod.