Endesha ukaguzi huo wa bandari kutoka kwenye laini ya ofisi na kutoka kwenye njia ya kutoka ya VPN, na majibu mawili yanaweza kutokubaliana kuhusu anwani ambayo hakuna aliyebadilisha. Pengo hilo linatoka kwenye njia na kwa mwenyeji gani alijibu, si kwa huduma kuwa hewani au chini. Maswali matatu hutenganisha maelezo hayo: uchunguzi uliuliza nini kwa kweli, mwenyeji gani ulijibu, na seva yako yenyewe ilirekodi nini. Yapitie kwa mpangilio huo na uandike kila jibu kabla ya kwenda kwenye linalofuata.

Rekebisha uchunguzi kabla ya kulinganisha mizunguko miwili

Neno la hali linaweza kulinganishwa na neno lingine la hali tu wakati yote mawili yametoka kwenye jaribio moja. Sehemu tano huzifunga hilo: anwani ya chanzo ambayo upande wa mbali uliona, lengwa lililotatuliwa, bandari, aina ya uchunguzi na muda. Badilisha yoyote kati yao na umefanya jaribio la pili badala ya kupima la kwanza mara mbili.

Kagua chanzo kabla ya kitu kingine chochote, kwa sababu mteja wa VPN anaweza kuwa hewani wakati trafiki bado inatoka kupitia kiolesura cha kimwili. Uliza upande wa mbali unaona nini, kisha uliza kerneli ilichagua kiolesura kipi:

curl -s https://ifconfig.me
ip route get 203.0.113.20

Anwani mbili kwenye mitandao tofauti zinamaanisha maelezo yako mkononi tayari, na ukaguzi uliobaki utayathibitisha tu. Zikikubaliana, nasa uchunguzi ukiwa na bendera ya sababu imewashwa, ili hali irudi ikiwa imeunganishwa na maelezo badala ya kusimama peke yake kama neno tupu. Aina ya uchunguzi pia ni ya rekodi hiyo, kwa sababu inaeleza kilichoombwa, si kilichorudi. Hali isiyo na chanzo, mbinu na alama ya muda haiwezi kulinganishwa na kitu chochote:

nmap -sT -p 443,8443 --reason 203.0.113.20

Weka matokeo hayo kando ya rekodi na si kwenye bafa ya kusogeza ambayo mtu anayefuata hawezi kuiona. Uchunguzi wawili waaminifu wasiokubaliana ni mjadala tu wakati hakuna aliyebandika masharti. Masharti yakiwa thabiti, ama matokeo yanakubaliana na swali linafungwa, au yanatofautiana na tofauti ni ukweli kuhusu njia.

Gundua mwenyeji gani alikamilisha kupeana mkono

Kupeana mkono kumekamilika kunathibitisha kwamba mwenyeji fulani alikamilisha, na mwenyeji huyo si lazima awe mchakato ulio akilini mwako. Kipatanishaji cha mzigo, proksi ya kinyume au proksi ya SYN vinaweza kujibu kabla seva halisi haijashiriki, jambo ambalo ni muundo wa kawaida, si dalili. Cheti halali kwa jina linalotarajiwa pia hakiupunguzi huo, kwa sababu cheti kinaeleza uhusiano wa huduma na hakisemi chochote kuhusu mashine gani ilimaliza muunganisho.

Rejea ya hali za bandari ya Nmap inachukua hili kama msingi: hali hurekodi kile uchunguzi uliweza kuona kutoka mahali ulipotumwa, si sifa ya bandari. Soma neno la hali hivyo na mizunguko miwili iliyotofautiana huanza kuonekana yenye uwiano badala ya kupingana, huku swali likihamia kutoka kama bandari iko wazi kwenda kwa nani alikuwa amesimama mbele yake.

Jibu swali la pili kwenye backend na si kutoka nje. Frontend inayokubali miunganisho kisha kushindwa kufikia upstream wake huzalisha taswira ya nje ya huduma yenye afya na programu ya polepole. Rekodi ya upstream wenyewe pekee ndiyo hutenganisha kesi mbili:

tail -n 5 /var/log/nginx/access.log
ss -ltnp 'sport = :443'

Mstari wa logi unaonyesha anwani ya mteja ambayo programu iliona kwa kweli, na amri ya pili inaonyesha kama mchakato unaoshikilia bandari 443 ni programu yako au kitu kilicho mbele yake. Ikiwa wawili hao hawakubaliani kuhusu anwani gani iliunganishwa, unaangalia miguu miwili ya ombi moja na tiketi inapaswa kusema hivyo.

Kagua sheria zako mwenyewe kabla ya kulaumu handaki

Sera ya kukusudia ndiyo sababu ya kawaida zaidi ya bandari kujibu kwenye mtandao mmoja na si mwingine, na ndiyo maelezo yasiyovutia zaidi yanayopatikana. Sheria za ufikiaji zipo ili kuruhusu chanzo kimoja na kutupa vingine, kwa hiyo mabadiliko ya njia ya kutoka ni tukio hasa ambalo ziliandikwa kwa ajili yake. Kwa hiyo hali tofauti kupitia VPN haionyeshi kwamba mtoa huduma anakagua trafiki. Inaonyesha kwamba anwani yako ya chanzo sasa ni tofauti, ambayo ni madai madogo zaidi.

Sheria hizo zinaweza kusomwa kwenye seva, kwa hiyo zisome badala ya kukisia kuhusu katikati ya mtandao. Orodhesha sheria za kichujio zinazotaja mojawapo ya safu mbili za anwani, kisha kagua kama muunganisho ulifika kwa daemon kabisa:

nft list ruleset | grep -n -e 203.0.113 -e 198.51.100
journalctl -u sshd -n 50 | grep 203.0.113

Tokeo la pili tupu ni la taarifa, kwa sababu hakuna kilichofika kwa daemon na swali ni la kichujio, kikundi cha usalama au njia yenyewe. Kupiga kunamaanisha huduma iliona chanzo chako na ikachagua jibu lake, na uamuzi huo kwa kawaida umeandikwa katika sheria unayoweza kusoma. Hakuna tokeo linalounga mkono hadithi kuhusu mtoa huduma, na yote mawili ni nafuu kukagua kuliko kunasa pakiti.

Soma usafirishaji, cheti na jibu kwa tofauti

Tabaka tatu huzalisha uchunguzi tatu, na uchunguzi unaojaribu mmoja wao hauwezi kuripoti kuhusu wengine wawili. Ziweke kama mistari tofauti kwenye rekodi badala ya kuzikunja kuwa hukumu moja, kwa sababu kila mstari unashindikana kwa namna yake na namna ya kushindikana inakuambia pa kutazama baadaye.

ObservationWhat it settlesWhat it leaves open
Connection completedA host on the path accepted the handshakeWhich host, and whether its upstream is reachable
Certificate valid for the nameThe endpoint holds a credential for that nameWhether the process behind it is the one you meant
Expected response bodyThe application handled the requestAnything about other ports or other paths
Connection refusedA host replied and nothing was listeningWhether a filter sits ahead of the refused port
TimeoutNo reply arrived before the deadlineDrop, blackhole route or an overloaded host

Amri moja huzalisha mistari mitatu ya kwanza dhidi ya huduma unayodhibiti. Weka matokeo yake kwenye rekodi kando ya uchunguzi na si kwenye ujumbe wa gumzo:

curl -v --resolve office.example:443:203.0.113.20 https://office.example/

Soma matokeo kwa mpangilio: kupeana mkono hujibu swali la usafirishaji, somo la cheti hujibu swali la jina, na mwili wa jibu hujibu swali la programu. Wakati mstari wa kupeana mkono unafanikiwa na mstari wa jibu haufanikiwi, una frontend yenye upstream iliyovunjika na si bandari iliyozuiwa. Hiyo ni tiketi tofauti na ile uliyofungua, na inafaa kusemwa wazi.

Maliza kwa kuandika ukweli wanne kwenye tiketi: anwani ya chanzo, aina ya uchunguzi, mwenyeji aliyejibu na muda. Kila kitu ambacho ulinganisho wa baadaye unahitaji kinaishi katika wanne hao, na atakayeichukua kesi baadaye hatakuwa na historia ya terminal yako. Ikiwa huwezi kujaza wote wanne, mzunguko haujakamilika.

Makala zinazohusiana