Nmap සැමවිටම ඔබ ඉල්ලා සිටියැයි සිතන පැකට්ටුව යවන්නේ නැත. අමු සොකට් නොමැති විට, එය පෙරනිමි SYN ස්කෑනය වෙනුවට TCP connect ස්කෑනය ආදේශ කරයි, එබැවින් ඔබේ සාමාන්ය පරිශීලකයා ලෙස ධාවනය කිරීම සහ sudo යටතේ ධාවනය කිරීම එකම වරාය ගැන විවිධ ප්‍රශ්නවලට පිළිතුරු දිය හැකිය. ප්‍රතිඵල අවසර ගැටලුවක් ලෙස පෙනේ, නමුත් සාමාන්‍යයෙන් ඒවා ක්‍රමයේ වෙනසකි. ක්‍රමය පැහැදිලි කිරීම දෙකම සංසන්දනය කිරීමට ඇති එකම මාර්ගයයි.

පරීක්ෂණ දෙකක්, එක් වරායක්, විවිධ කේත මාර්ග

SYN ස්කෑනය TCP ශීර්ෂය තමන්ම ගොඩනගා, අමු සොකට් එකකින් යවා, කර්නලයේ TCP තට්ටුව සම්පූර්ණ සම්බන්ධතාවක් වාර්තා කිරීමට පෙර ජාලයෙන් පිළිතුර කියවයි. connect ස්කෑනය මෙහෙයුම් පද්ධතියෙන් සාමාන්‍ය සොකට් එකක් විවෘත කරන ලෙස ඉල්ලා connect() ආපසු දෙන දෙය වාර්තා කරයි. දෙකම වරායක් විවෘත ලෙස නම් කළ හැකි නමුත්, අර්ධ-විවෘත උත්සාහයක් ඉතිරි කරන්නේ එකක් පමණක් වන අතර යවන ක්‍රියාවලියට සම්බන්ධ සොකට් මට්ටමේ ප්‍රතිපත්තියට යටත් වන්නේ එකක් පමණි.

අමු මාර්ගයට CAP_NET_RAW අවශ්‍ය වේ, එබැවින් එම හැකියාව නොමැති විට පෙරනිමි ස්කෑනය නිශ්ශබ්දව දුර්වල වේ. Nmap හිම ස්කෑන් ක්‍රමවේද සංදර්ශකය මෙම ආදේශනය ලේඛනගත කරයි: connect ස්කෑනය විකල්පය වන්නේ එයට කිසිදු විශේෂ අවසරයක් අවශ්‍ය නොවන බැවිනි. මෙම මාරුව බොහෝ ධාවනවලදී අනතුරු ඇඟවීමකින් තොරව සිදු වේ, එයම එය වැරදි ලෙස කියවීම පහසු කරයි. විකල්පය පවතින බව දැනගත් පසු, “root ලෙස විවෘත, පරිශීලකයා ලෙස වසා” යන්න අවසර දෝෂයක් ලෙස නොව දෙවිධ මිනුම් ලෙස ඇසීමට පටන් ගනී.

ස්කෑනයේ sudo සැබවින්ම වෙනස් කරන දේ

අවසර ඉහළ නැංවීම අමු සොකට් මාර්ගය ප්‍රතිස්ථාපනය කරයි, එය තීන්දුවට වඩා වැඩි දෙයක් වෙනස් කරයි. මූල පෝට් තේරීම, පැකට්ටු කාලය, නැවත යැවීමේ හැසිරීම සහ පෙරන ලද පිළිතුරක් වර්ගීකරණය කරන ආකාරය සියල්ල විවිධ කේතවලින් පැමිණේ. SYN අනුපාතය සීමා කරන මධ්‍ය පර්යන්ත උපාංගය ගමනාන්ත සත්කාරකය සමාන වුවද ධාවන දෙකම අසමාන ලෙස සලකයි.

ගමනාන්ත පැත්තේ ලොග් කිරීම ද වෙනස් වේ. සම්පූර්ණ වූ අත් සැලීම සේවාවට සහ ඕනෑම සොකට් ගණන් ගැනීමකට පෙනේ, නමුත් යළි පිහිටුවන ලද අර්ධ-විවෘත පරීක්ෂණය බොහෝ විට නොපෙනේ. ඔබ ලොග් ද කියවන සත්කාරකයකට එරෙහිව ධාවන සංසන්දනය කරන්නේ නම්, ඔබ දකින වෙනසෙහි කොටසක් නිරීක්ෂණයම වේ.

ධාවන දෙකෙහිම ක්‍රමය නියතව තබන්න

ඇමතුම් දෙකෙහිම එකම ක්‍රමවේදය බලයෙන් යොදන්න, එවිට සංසන්දනය අර්ථවත් වීමට පටන් ගනී. -sT ධජය connect ස්කෑනය පැහැදිලිව ඉල්ලා සිටී, -Pn සත්කාරක සොයාගැනීම ඉවත් කරයි, -n නම් විසඳීම ඉවත් කරයි, සහ එක් -p වරාය ලැයිස්තු වෙනස්කම් ඉවත් කරයි.

nmap -sT -Pn -n -p 8443 198.51.100.77
sudo nmap -sT -Pn -n -p 8443 198.51.100.77

ලිපිනය සහ වරාය පරීක්ෂා කිරීමට ඔබට අවසර ඇති සත්කාරකයක් සමඟ ප්‍රතිස්ථාපනය කරන්න; ඉහත ලේඛන පරාසය උදාහරණයක් මිස ඉලක්කයක් නොවේ. ධාවන දෙක දැන් එකඟ නම්, මුල් වෙනස ස්කෑන් ක්‍රමයෙන් පැමිණියේය. තවමත් එකඟ නොවේ නම්, වෙනත් දෙයක් ගමනාගමනය වර්ගීකරණය කරයි, ඊළඟ කොටස බැලිය යුතු තැනයි.

ගිණුම් සන්දර්භය අවසර ධජයක් පමණක් නොවේ

VPN යෙදවීමක් පැකට්ටු UID අනුව, cgroup අනුව, හෝ සොකට් විවෘත කළ ක්‍රියාවලියට සම්බන්ධ රීතියක් අනුව වර්ගීකරණය කළ හැකිය. එවිට root ගමනාගමනය සහ පරිශීලක ගමනාගමනය විවිධ මාර්ග සැකසුම් වගු හරහා පිටවේ හෝ විවිධ රීති කට්ටලවලට වැදේ, සහ ස්කෑන් ක්‍රමයේ කිසිදු විනයකට ඒවා සමඟි කළ නොහැක.

අවසරය නොව ප්‍රතිපත්තිය පරීක්ෂා කරන්න. Linux හි nftables මෙය meta skuid සමඟ ප්‍රකාශ කරයි, iptables හිමිකරු ගැළපීම සමඟ, සහ ඕනෑම එකකට එක් UID එකක් උමඟක් හරහා යැවිය හැකි අතර අනෙක් එක භෞතික පෙරනිමි මාර්ගය භාවිත කරමින් සිටී.

sudo nft list ruleset | grep -n skuid
sudo iptables-save | grep -n uid-owner
ip rule show
ip route get 198.51.100.77

නිගමනවලට ඒමට පෙර පරීක්ෂණය තහවුරු කරන්න

නිගමන ඇදගැනීමට පෙර කුමන පරීක්ෂණය ක්‍රියාත්මක වූයේ දැයි ඔප්පු කරන්න. Nmap තමන්ගේම ප්‍රතිදානයේ ක්‍රමවේදය නම් කරයි, --reason එක් එක් තත්ත්වය පිටුපස සාක්ෂිය එකතු කරයි, අත් සැලීම සැබවින්ම සම්පූර්ණ වූයේද යන්න පවසන්නේ එම කොටසයි.

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

විවිධ හේතූන් නිසා එකම තත්ත්වය වාර්තා කරන ධාවන දෙක පරස්පර නොවේ, එකම හේතුව නිසා විවිධ තත්ත්ව වාර්තා කරන ධාවන දෙක ස්කෑනය දෙස නොව මාර්ගගත කිරීම හෝ ප්‍රතිපත්තිය දෙස යොමු කරයි. ගමනාන්තය, වරාය, නාම අවකාශය සහ කාලය සමානව තබා, පසුව එකවර එක් විචල්‍යයක් වෙනස් කරන්න. සේවාව root ලෙස ධාවනය කිරීම ප්‍රතිපත්ති නොගැළපීමේ අලුත්වැඩියාව නොවේ; අභිප්‍රේත ප්‍රතිපත්තිය සේවාවේ හිමිකරු හරහා ප්‍රකාශ කිරීමයි අලුත්වැඩියාව.

අදාළ ලිපි