En åben TCP-port beviser ikke, at en proxy virker
En vellykket portkontrol opretter kun en forbindelse. Kontrollér også proxyens håndtryk og det forventede svar fra destinationen.
En åben TCP-port viser, at en lytter accepterede en forbindelse. Det kan være en proxy, en almindelig webserver eller en anden tjeneste; port 8080 identificerer ikke protokollen.
For et endepunkt dokumenteret som HTTP-proxy skal du bruge den rigtige adresse i en HTTPS-forespørgsel med tidsgrænser:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/
Erstat dokumentationsadressen med dit HTTP-endepunkt eller en kandidat fra HTTP-proxylisten. For SOCKS skal du bruge den tilsvarende SOCKS-klienttilstand og fuldføre forhandlingen. Et forkert håndtryk kan fejle umiddelbart efter TCP-accept.
| Observeret trin | Hvad det viser |
|---|---|
| TCP accepteret | Lytteren kan nås. |
| Proxyhåndtryk accepteret | Lytteren accepterede denne proxyoperation. |
| Destinationens TLS verificeret | Klienten fuldførte den tilsigtede sikre forbindelse under sine tillidsindstillinger. |
| Forventet status og indhold modtaget | Applikationsforespørgslen gav det forventede resultat. |
Ved HTTPS gennem en HTTP-proxy skal CONNECT til destinationsporten være tilladt. Selv CONNECT 200 er et mellemtrin: Tunnelen kan lukke, før TLS eller den endelige forespørgsel lykkes. Succes med ukrypteret HTTP viser ikke denne tunnelfunktion.
Brug en destination med forudsigeligt indhold, helst under din kontrol, og undersøg dens forespørgselslog, hvis tilgængelig. En ukrypteret HTTP-lytter kan returnere en fast side med status 200 uden overhovedet at kontakte målet. En vilkårlig successtatus er svagere bevis end overensstemmelse med det forventede svar; HTTPS-identitetsverifikation giver ekstra beskyttelse.
Notér det sidste vellykkede trin. ‘Port åben, SOCKS-forhandling afvist’ giver et nyttigt udgangspunkt for næste undersøgelse.