Wêrom't in poarteskening feroaret as jo dy mei sudo útfiere
As rûge sockets net beskikber binne, ferfangt Nmap de SYN-skening stilwei troch in TCP connect-skening, sadat root en in gewoane brûker ferskate paden mjitte.
Nmap stjoert net altyd it pakket dat jo tocht hawwe dat jo oanfrege hawwe. As rûge sockets net beskikber binne, ferfangt it de standert SYN-skening troch in TCP connect-skening, sadat in útfiering as jo gewoane brûker en ien ûnder sudo ferskate fragen oer deselde poarte beantwurdzje kinne. De resultaten lykje in rjochteprobleem, en se binne meastentiids in metoadeferoaring. De metoade eksplisyt meitsje is de iennige manier om de twa útfierings hielendal te ferlykjen.
Twa sonden, ien poarte, ferskate kodepaden
In SYN-skening bout de TCP-kop sels, stjoert dy út in rûge socket en lêst it antwurd fan 'e tried foardat de TCP-stapel fan 'e kearn ea in foltôge ferbining registrearret. In connect-skening freget it bestjoeringssysteem om in gewoane socket te iepenjen en rapportearret wat connect() weromjout. Beide kinne in poarte iepen neame, mar mar ien lit in healiepen poging efter en mar ien is ûnderwurpen oan socketnivo-belied dat oan it stjoerende proses ferbûn is.
It rûge paad hat CAP_NET_RAW nedich, en dêrom ferswakket de standertskening stil as dy mooglikheid ûntbrekt. Nmap syn eigen referinsje oer skeningstekniken dokumintearret de ferfanging: connect-skening is de weromfal om't it hielendal gjin bysûndere rjochten nedich hat. De omwikseling bart yn 'e measte útfierings sûnder warskôging, en dat is wat it sa maklik te mislêzen makket. As jo ienris witte dat de weromfal bestiet, hâldt “iepen as root, ticht as brûker” op om as in rjochteflater te klinken en begjint it as twa ferskate mjittingen te klinken.
Wat sudo eins yn 'e skening feroaret
It ferheegjen fan rjochten herstelt it rûge-socketpaad, en dat feroaret mear as it oardiel. Kar fan boarne-poarte, pakkettyd, werstjoergedrach en de manier wêrop in filtere antwurd klassifisearre wurdt, komme allegear út ferskate koade. In tuskenkast dy't SYN's beheint, behannelet de twa útfierings ûngelikens sels as de bestimmingshost identyk is.
Logging oan 'e hostkant wykt ek ôf. In foltôge hânskud is sichtber foar de tsjinst en foar elke sockethanneling, wylst in weromsette healiepen sonde dat faaks net is. As jo útfierings ferlykje tsjin in host waans logs jo ek lêze, is in part fan it ferskil dat jo sjogge de waarnimming sels.
Hâld de metoade konstant yn beide útfierings
Twang deselde technyk yn beide oproppen en de ferliking begjint eat te betsjutten. De flagge -sT freget connect-skening eksplisyt oan, -Pn hellet hostûntdekking fuort, -n hellet namme-oplossing fuort, en ien inkele -p hellet ferskillen yn 'e poartelist fuort.
nmap -sT -Pn -n -p 8443 198.51.100.77
sudo nmap -sT -Pn -n -p 8443 198.51.100.77
Ferwikselje it adres en de poarte mei in host dy't jo teste meie; it dokumintaasjeberik hjirboppe is in plakhâlder, gjin doel. As de twa útfierings no oerienkomme, kaam it oarspronklike ferskil fan 'e skeningsmetoade. As se noch altyd ferskille, klassifisearret eat oars it ferkear, en de folgjende paragraaf is wêr't jo sjen moatte.
Akkountkontekst is net allinnich in rjochteflagge
In VPN-ynset kin pakketten klassifisearje op UID, op cgroup, of op in regel ferbûn oan it proses dat de socket iepene hat. Dan ferlitte root-ferkear en brûkersferkear ferskate routingtabellen of treffe ferskate regelsets, en gjin inkelde skeningsmetoade-dissipline ferienet se.
Undersykje it belied yn stee fan it rjocht. Op Linux drukt nftables dat út mei meta skuid en iptables mei de eigner-oerienkomst, en elk fan beiden kin in inkele UID troch in tunnel stjoere wylst de oare it fysike standertpaad blyft brûken.
sudo nft list ruleset | grep -n skuid
sudo iptables-save | grep -n uid-owner
ip rule show
ip route get 198.51.100.77
Befêstigje de sonde foardat jo resultaten ferlykje
Foardat jo konklúzjes lûke, bewize hokker sonde rûn. Nmap neamt de technyk yn syn eigen útfier, en --reason foeget it bewiis efter elke tastân ta, wat it part is dat jo fertelt oft in hânskud wier foltôge is.
nmap --reason -sT -Pn -n -p 8443 198.51.100.77
sudo nmap --reason -sS -Pn -n -p 8443 198.51.100.77
getcap "$(command -v nmap)"
capsh --print | grep -i net_raw
Twa útfierings dy't deselde tastân om ferskate redenen rapportearje, binne gjin tsjinstelling, en twa útfierings dy't ferskate tastannen om deselde reden rapportearje, wize op routing of belied yn stee fan op 'e skening. Hâld bestimming, poarte, nammeromte en tyd identyk, feroarje dan ien fariabele tagelyk. It draaien fan 'e tsjinst as root is net de reparaasje foar in beliedsôfwiking; it belied útdrukke troch de eigner fan 'e tsjinst is dat.