Dikush dëshiron të inspektojë çfarë dërgojnë klientët përmes tunelit, gjen grepin e lidhjes në dokumentacion dhe fillon të shkruajë një skript që nuk do të marrë kurrë as edhe një paketë. Grep-i është i vërtetë dhe i dobishëm, por njësia e tij e punës është një sesion, jo një bajt. Zgjedhja e komponentit të duhur është një krahasim mes tri vendeve ku puna mund të ndodhë, dhe pyetja vendimtare është cila njësi mund të shohë vërtet secili.

Çfarë merr grep-i dhe çfarë nuk merr kurrë

Një grep lidhjeje klienti xhirohet një herë kur një klient i vërtetuar vendos një sesion, në kontekstin e procesit të serverit, me argumente të dokumentuara dhe vlera mjedisi si emri i përbashkët dhe adresa e caktuar. Ai mund të shkruajë konfigurim për klient, të marrë një vendim pranimi, të ndajë një burim të jashtëm ose të regjistrojë që lidhja ndodhi. Ajo që nuk mund të bëjë është të vëzhgojë trafikun, sepse kur paketa e parë kalon tunelin grep-i tashmë është kthyer.

Ky nuk është një kufizim për t'u anashkaluar. Një kthim sesioni që do të përpiqej të përpunonte një rrjedhë do të duhej të xhirohej për gjithë jetën e lidhjes, dhe kontrata e skripteve e daemon-it nuk është ndërtuar për atë formë. Pyet për çfarë është grep-i para se të vendosësh që të pengon.

Rilidhjet kanë gjithashtu rëndësi. Një klient që bie dhe rilidhet është sesion i ri, prandaj çdo gjë që grep-i ndan duhet të jetë idempotente ose e çiftuar me një ngjarje shkëputjeje që pastron. Gjendja që rrjedh në çdo rilidhje është defekti i parë i zakonshëm në një dizajn të bazuar në grep.

Politika e sesionit i përket grep-it

Pranimi është puna e natyrshme e grep-it. Ti e di kush u lidh, nga ku dhe me çfarë certifikate, dhe mund të vendosësh nëse ky sesion duhet të vazhdojë ose të refuzohet. Ai vendim është i lirë, ndodh një herë dhe nuk kërkon të shohësh as edhe një bajt ngarkese.

Caktimi i konfigurimit përshtatet me të njëjtën formë. Një grep mund të zgjedhë adresën e klientit, të dërgojë opsione të përshtatshme për atë identitet ose të shkruajë një fragment që serveri lexon për këtë klient. Meqenëse vendimi është për sesion, ai mbetet i kuptueshëm kur diçka shkon keq dhe dikush duhet të shpjegojë pse një klient i caktuar mori një adresë të caktuar.

Regjistrimi është përshtatja e tretë. Një zë auditimi që thotë se një sesion u pranua, me identitetin dhe kohën e tij, i përket pikërisht këtu. Nuk është regjistër trafiku dhe nuk duhet të hiqet si i tillë. Nëse më vonë dikush pyet çfarë bëri një klient brenda tunelit, përgjigjja duhet të vijë nga diku tjetër.

Puna me paketa i përket një rruge paketash

Nëse kërkesa është të shohësh ose të ndryshosh bajt në fluturim, komponenti duhet të jetë në rrugën e përcjelljes: një rregull muri zjarri me radhë, një grep kontrolli trafiku ose një përcjellës në hapësirën e përdoruesit. Këta mekanizma shohin paketa, dhe kanë gjendjen, mënyrat e dështimit dhe profilin e tyre të performancës.

Redaktimi i ngarkesës në atë shtresë është më i vështirë se leximi i saj. Ndryshimi i një bajti mund të zhvleftësojë një fushë gjatësie, një shumë kontrolli ose një makinë gjendjesh protokolli, dhe një tunel i shtresës së tretë nuk të mbron nga asnjë prej këtyre. Do të thotë vetëm se titujt e jashtëm nuk janë ata që redakton. Parashiko atë punë riparimi para se t'i premtosh dikujt një rishkrim përmbajtjeje.

Kapja e ndërfaqes është mjeti më i lirë në këtë kategori, dhe është vëzhgim, jo redaktues. Njerëzit i ngatërrojnë të dyja sepse të dyja përshkruhen si shikim i trafikut, por kapja prodhon një skedar dhe rruga e paketave prodhon një vendim.

Ndryshimet e aplikacionit i përkasin aplikacionit

Kur qëllimi është të ndryshohet çfarë përmban një kërkesë ose si formohet një përgjigje, vendi i duhur është vetë shërbimi ose një proxy që përfundon protokollin me qëllim. Këta komponentë tashmë i kuptojnë kërkesat, përgjigjet dhe vërtetimin që pret aplikacioni, dhe ky është pikërisht konteksti që i mungon një filtri paketash.

Përkthimi i adresave është në fund të këtij listi për një arsye. Ai rishkruan adresat dhe portat dhe e lë ngarkesën në paqe, prandaj nuk është mjet përmbajtjeje, sado shpesh të shfaqet në një recetë që përmend edhe përmbajtjen.

Mbajtja e këtyre kufijve të ndarë është ajo që e bën një dizajn të shpjegueshëm. Politikë sesioni në grep, trajtim paketash në një rrugë paketash dhe ndryshim aplikacioni aty ku protokolli përfundon me qëllim: tri fjali që shërbejnë edhe si listë kontrolli për rishikimin.

Ku TLS ende e përfundon bisedën

Një gjë i mbijeton gjithçkaje më sipër: trafiku brenda tunelit që mban HTTPS ruan kriptimin e vet të transportit. Të kesh çelësat e VPN-së të jep paketën e brendshme IP dhe nuk të jep çelësat e sesionit të faqes në skajin tjetër.

Prandaj një grep nuk mund të inspektojë përmbajtjen as në parim, dhe prandaj një rrugë paketash sheh tekst të kriptuar, përveç nëse vendosja përfundon me qëllim TLS-in e brendshëm. kontrata e skripteve përshkruan çfarë i jepet grep-it; nuk thotë asgjë për ngarkesën sepse nuk ka ngarkesë për të dhënë.

Artikuj të ngjashëm