Ցանցային սկաների nmap համակարգի պահանջները: nmap-ի օգտագործման օրինակներ՝ նավահանգիստ սկաներ: Հյուրերի ցանկի սկանավորում ֆայլից

Nmap-ը շատ տարածված բաց կոդով ցանցային սկաներ է: աղբյուր կոդը, որը կարող է օգտագործվել ինչպես Windows-ում, այնպես էլ Linux-ում: Nmap կամ Network Mapper ծրագիրը մշակվել է Գորդոն Լուոնի կողմից և այս պահինօգտագործվում է անվտանգության մասնագետների և համակարգի ադմինիստրատորների կողմից ամբողջ աշխարհում:

Այս ծրագիրը օգնում է համակարգի ադմինիստրատորներին շատ արագ հասկանալ, թե որ համակարգիչները միացված են ցանցին, պարզել նրանց անունները, ինչպես նաև տեսնել, թե ինչ ծրագրեր են տեղադրված դրանց վրա, ինչ օպերացիոն համակարգ և ինչ տեսակի զտիչներ են կիրառվում: Ծրագրի ֆունկցիոնալությունը կարող է ընդլայնվել սեփական սցենարային լեզվով, որը թույլ է տալիս ադմինիստրատորներին ավտոմատացնել բազմաթիվ գործողություններ:

Օրինակ, սկրիպտները կարող են ավտոմատ կերպով հայտնաբերել անվտանգության նոր խոցելիություններ ձեր ցանցում: Namp-ը կարող է օգտագործվել լավ կամ վատ մտադրություններով, զգույշ եղեք, որ nmap-ը չօգտագործեք օրենքի դեմ: Այս ձեռնարկում մենք կանդրադառնանք, թե ինչպես օգտագործել namp-ը Linux օպերացիոն համակարգի պորտերը սկանավորելու համար: Բայց նախ դուք պետք է փորձեք հասկանալ, թե ինչպես է այս օգտակար ծրագիրը:

IN համակարգչային ցանցերԲոլոր միացված սարքերն ունեն իրենց սեփական IP հասցեն: Յուրաքանչյուր համակարգիչ աջակցում է ping արձանագրությանը, որը կարող է օգտագործվել՝ որոշելու, թե արդյոք այն միացված է ցանցին: Մենք պարզապես ping հարցում ենք ուղարկում համակարգչին, և եթե այն պատասխանում է, ենթադրում ենք, որ այն միացված է: Nmap-ը մի փոքր այլ մոտեցում է ցուցաբերում: Համակարգիչները նույնպես արձագանքում են որոշակի ձևերով ցանցային փաթեթներ, կոմունալ ծառայությունը պարզապես ուղարկում է անհրաժեշտ փաթեթները և նայում, թե որ հյուրընկալողներն են ուղարկել պատասխանը։

Բայց դուք հավանաբար արդեն գիտեք այս մասին: Ավելի հետաքրքիր է, թե ինչպես է Nmap-ը իմանում, թե որ ծառայություններն են աշխատում մեքենայի վրա: Բոլոր ցանցային ծրագրերի աշխատանքի էությունը հիմնված է նավահանգիստների վրա: Ցանցից հաղորդագրություն ստանալու համար ծրագիրը պետք է ձեր համակարգչի վրա բացել մի պորտ և սպասել մուտքային կապերին: Իսկ ցանցով հաղորդագրություն ուղարկելու համար անհրաժեշտ է միանալ այլ ծրագրի (նպատակակետի) պորտին։ Այնուհետև ծրագիրը պետք է բացի մի նավահանգիստ, որի վրա այն կսպասի պատասխանի:

nmap կոմունալը կրկնվում է ցանցային սկանավորման ընթացքում հասանելի նավահանգիստների միջով և փորձում է միանալ դրանցից յուրաքանչյուրին: Եթե ​​կապը հաջող է, շատ դեպքերում, մի քանի փաթեթ փոխանցելով, ծրագիրը կարող է նույնիսկ պարզել տարբերակը ծրագրային ապահովում, որը սպասում է միացումների այս նավահանգստում: Այժմ, երբ մենք ծածկեցինք հիմունքները, եկեք տեսնենք, թե ինչպես օգտագործել nmap նավահանգիստների և ցանցի սկանավորման համար:

Nmap Syntax

Nmap գործարկման հրամանը շատ պարզ է, պարզապես պարամետրերում փոխանցեք այն թիրախային IP հասցեն կամ ցանցը և անհրաժեշտության դեպքում նշեք տարբերակները.

$ nmap հասցեի ընտրանքներ

Այժմ եկեք նայենք այն հիմնական տարբերակներին, որոնք մեզ անհրաժեշտ կլինեն այս հոդվածում:

  • -սլ- պարզապես ստեղծեք գործող հոսթերների ցուցակ, բայց մի սկանավորեք nmap նավահանգիստները;
  • -sP- միայն ստուգեք, արդյոք հյուրընկալողը հասանելի է ping-ի միջոցով;
  • -PN- համարեք հասանելի բոլոր հոսթերները, նույնիսկ եթե նրանք չեն արձագանքում ping-ին.
  • -sS/sT/sA/sW/sM- TCP սկանավորում;
  • -sU- UDP սկանավորման nmap;
  • -sN/sF/sX- TCP NULL և FIN սկանավորում;
  • -sC- գործարկել լռելյայն սցենարը;
  • -սԻ- ծույլ անգործուն սկանավորում;
  • -էջ- նշեք ստուգման ենթակա նավահանգիստների շրջանակը.
  • -sV- ծառայությունների տարբերակները որոշելու համար նավահանգիստների մանրամասն ուսումնասիրություն.
  • - որոշել օպերացիոն համակարգ;
  • - սկանավորման արագություն, որքան շատ, այնքան արագ;
  • - դիմակի սկանավորում՝ օգտագործելով կեղծ IP-ներ;
  • - փոխեք ձեր IP հասցեն նշվածին.
  • - օգտագործել հատուկ ինտերֆեյս;
  • -- խաբեբա-մակ- սահմանեք ձեր MAC հասցեն;
  • - օպերացիոն համակարգի հայտնաբերում, օգտագործելով սցենարներ:

Այժմ, երբ մենք ծածկեցինք բոլոր հիմնական տարբերակները, եկեք խոսենք այն մասին, թե ինչպես են աշխատում nmap նավահանգիստների սկանավորումները:

Ինչպես օգտագործել Nmap-ը Linux-ում նավահանգիստները սկանավորելու համար

Եկեք հաջորդիվ նայենք nmap-ի օրինակներին: Նախ, եկեք նայենք, թե ինչպես գտնել ցանցին միացված բոլոր սարքերը, դրա համար բավական է օգտագործել -sL տարբերակը և նշել մեր ցանցի դիմակը: իմ դեպքում դա 192.168.1.1/24 է։ քո դիմակը տեղական ցանցկարող եք գտնել՝ գործարկելով հրամանը.

Օգտագործված ինտերֆեյսի ելքից վերցրեք համարը կտրվածքից հետո, իսկ շեղից առաջ նշեք ձեր երթուղիչի ip-ը: Nmap ցանցի սկան հրամանը կունենա հետևյալ տեսքը.

nmap -sL 192.168.1.1/24

Երբեմն այս սկանավորումը կարող է արդյունք չտալ, քանի որ որոշ օպերացիոն համակարգեր ունեն պորտի սկանավորման պաշտպանություն: Բայց դա կարելի է շրջանցել՝ պարզապես օգտագործելով ping՝ ցանցի բոլոր ip հասցեները սկանավորելու համար, դրա համար կա -sn տարբերակը.

nmap -sn 192.168.1.1/24

Ինչպես տեսնում եք, այժմ ծրագիրը հայտնաբերել է ակտիվ սարքեր ցանցում: Հաջորդը, մենք կարող ենք սկանավորել nmap նավահանգիստները ցանկալի հյուրընկալողի համար՝ գործարկելով կոմունալ ծրագիրը առանց ընտրանքների.

sudo nmap 192.168.1.1

Այժմ մենք կարող ենք տեսնել, որ մենք ունենք բաց մի քանի նավահանգիստներ, որոնք բոլորն օգտագործվում են թիրախային մեքենայի որոշ ծառայության կողմից: Դրանցից յուրաքանչյուրը կարող է պոտենցիալ խոցելի լինել, ուստի մեքենայի վրա շատ բաց նավահանգիստներ ունենալը անվտանգ չէ: Բայց սա այն ամենը չէ, ինչ դուք կարող եք անել, հետագայում դուք կսովորեք, թե ինչպես օգտագործել nmap:

Մեքենայի և դրա վրա աշխատող ծառայությունների մասին ավելի մանրամասն տեղեկություններ իմանալու համար կարող եք օգտագործել -sV տարբերակը: Կոմունալը կմիանա յուրաքանչյուր նավահանգստին և կորոշի առկա բոլոր տեղեկությունները.

sudo nmap -sV 192.168.1.1

Մենք ունենք ftp, որն աշխատում է մեր մեքենայի վրա, այնպես որ մենք կարող ենք փորձել ավելի մանրամասն ուսումնասիրել այս ծառայությունը՝ օգտագործելով ստանդարտ nmap սկրիպտներ: Սկրիպտները թույլ են տալիս ավելի մանրամասն ստուգել նավահանգիստը, գտնել հնարավոր խոցելիությունները։ Դա անելու համար օգտագործեք -sC տարբերակը և -p՝ պորտը սահմանելու համար.

sudo nmap -sC 192.168.56.102 -p 21

Մենք գործարկեցինք լռելյայն սկրիպտը, բայց կան այլ սկրիպտներ, օրինակ, դուք կարող եք գտնել ftp-ի բոլոր սկրիպտները հրամանով.

sudo գտնել /usr/share/nmap/scripts/ -name «*.nse» | grep ftp

Այնուհետև մենք կփորձենք օգտագործել դրանցից մեկը, դրա համար բավական է նշել այն՝ օգտագործելով --script տարբերակը։ Բայց նախ կարող եք դիտել սցենարի մասին տեղեկությունները.

sudo nmap --script-help ftp-brute.nse

Այս սկրիպտը կփորձի որոշել FTP մուտքն ու գաղտնաբառը հեռավոր հոսթի վրա: Այնուհետև գործարկեք սցենարը.

sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

Արդյունքում սկրիպտը վերցրեց մուտքի և գաղտնաբառը՝ admin/admin։ Այդ իսկ պատճառով ձեզ հարկավոր չէ օգտագործել մուտքի լռելյայն տարբերակները:

Կարող եք նաև գործարկել կոմունալը -A տարբերակով, որն ակտիվացնում է կոմունալ ավելի ագրեսիվ ռեժիմը, որի միջոցով դուք կստանաք տեղեկատվության մեծ մասը մեկ հրամանով.

sudo nmap -A 192.168.1.1

Նկատի ունեցեք, որ գրեթե բոլոր այն տեղեկությունները, որոնք մենք տեսել ենք նախկինում, ներառված են այստեղ: Այն կարող է օգտագործվել այս մեքենայի պաշտպանությունը բարձրացնելու համար:

Ամենահայտնիներից մեկը ֆունկցիոնալությունը Nmap-ը OS-ի հեռավոր հայտնաբերում է, որը հիմնված է TCP/IP փաթեթի աշխատանքի վերլուծության վրա: Nmap-ն ուղարկում է մի շարք TCP և UDP փաթեթներ հեռավոր հոսթին և ուսումնասիրում է պատասխանների գրեթե յուրաքանչյուր բիթ: Տասնյակ փորձարկումներ կատարելուց հետո, ինչպիսիք են TCP ISN-ի բեռնումը, TCP ընտրանքների աջակցությունը, IP ID-ի առբերումը և սկզբնավորման ժամանակի վերլուծությունը, Nmap-ը համեմատում է արդյունքները տարբեր ՕՀ-երի համար բնորոշ արդյունքների հազարից ավելի հայտնի հավաքածուների nmap-os-db տվյալների բազայի հետ և, եթե համընկնում է, թողարկում է ՕՀ-ի մասին տեղեկատվություն: Յուրաքանչյուր հավաքածու պարունակում է ՕՀ-ի անվճար տեքստային նկարագրություն և դասակարգում, որը սահմանում է արտադրողի անունը (օրինակ՝ Sun), ՕՀ-ի անվանումը (օրինակ՝ Solaris), ՕՀ-ի արտադրությունը (օրինակ՝ 10) և սարքի տեսակը (): ՕՀ և դասակարգում, որը տրամադրում է վաճառողի անունը (օրինակ՝ Sun), հիմքում ընկած ՕՀ-ն (օրինակ՝ Solaris), ՕՀ-ի արտադրությունը (օրինակ՝ 10) և սարքի տեսակը (ընդհանուր նշանակության, երթուղիչ, անջատիչ, խաղ մխիթարելև այլն):

Եթե ​​Nmap-ը չի կարողանում որոշել OS-ն, բայց դրա համար կան լավ պատճառներ (օրինակ՝ հայտնաբերվել է առնվազն մեկ բաց և մեկ փակ պորտ), ապա Nmap-ը կտրամադրի URL, որտեղ, եթե հստակ գիտեք, թե որ ՕՀ-ն է օգտագործվում, կարող եք տրամադրել դրա բնութագրերի մի շարք: Դրանով դուք կնպաստեք հայտնի Nmap OS-ների տվյալների բազային, և այն ավելի օգտակար կլինի բոլորի համար:

ՕՀ-ի հայտնաբերման տարբերակը ակտիվացնում է նաև մի քանի այլ թեստեր, որոնք թույլ են տալիս օգտվել աշխատանքի ընթացքում հավաքագրված տեղեկատվությունից: Դրանցից մեկը TCP Sequence Predictability Classification-ն է: Սա թույլ է տալիս մոտավորապես որոշել, թե որքան դժվար է կեղծ TCP կապ հաստատել հեռավոր հոսթին: Սա կարող է օգտակար լինել հաքերային հարձակման և դրա վրա հիմնված ծրագրերի շահագործման համար վստահելի հարաբերություններ(rlogin, firewall ֆիլտրեր և այլն) կամ հարձակման աղբյուրը թաքցնելու համար։ Խարդախության այս տեսակն այժմ հազվադեպ է օգտագործվում, բայց շատ մեքենաներ դեռ խոցելի են այս տեսակի հարձակման համար: Բարդությունը բնութագրող թիվը հիմնված է վիճակագրական նմուշի վրա և կարող է տատանվել: Սովորաբար ավելի լավ է օգտագործել դասակարգումը, օգտագործելով անգլերեն արտահայտություններ, ինչպիսիք են « արժանի մարտահրավեր» կամ « չնչին կատակ» . Այս տեղեկատվությունը կցուցադրվի միայն այն դեպքում, եթե բանավոր ռեժիմը (-v) միացված է: Երբ բանավոր ռեժիմը միացված է -O տարբերակով, ցուցադրվում է նաև IP ID-ի հաջորդականության ստեղծման մասին տեղեկատվությունը: Մեքենաների մեծ մասը դասարանում է « աճող (աճող)» , ինչը նշանակում է, որ նրանք ավելացնում են ID-ի դաշտը IP վերնագրում յուրաքանչյուր ուղարկված փաթեթի համար: Սա նրանց խոցելի է դարձնում խարդախության և հարուստ տեղեկատվության հավաքագրման հարձակումներից:

Նաև ՕՀ-ի հայտնաբերման ժամանակ փորձ է արվում պարզել թիրախային մեքենայի աշխատանքի ժամանակը։ Օգտագործելով TCP ժամադրոշմները (RFC 1323), Nmap-ը փորձում է գուշակել, թե երբ է սարքը վերջին անգամ վերագործարկվել: Տեղեկությունը կարող է ճշգրիտ չլինել, քանի որ. ժամանակի դրոշմակնիքի հաշվիչը չի զրոյացվել, կամ լցվել է, կամ ինչ-որ կերպ թաքցվել է: Տեղեկատվությունը ցուցադրվում է միայն բանավոր ռեժիմում:

ՕՀ-ի հայտնաբերման տարբերակի շահագործման, օգտագործման և կազմաձևման վերաբերյալ թղթային փաստաթղթերը գտնվում են այստեղ:

ՕՀ-ի հայտնաբերման գործառույթը միացված է և վերահսկվում է հետևյալ ընտրանքների միջոցով.

O (Միացնել OS-ի հայտնաբերումը)

Միացնում է ՕՀ-ի հայտնաբերման գործառույթը, որի գործողությունը նկարագրված է վերևում: Կարող եք նաև օգտագործել -A տարբերակը, որը ներառում է ՕՀ-ի հայտնաբերումը, ի թիվս այլ գործառույթների:

--osscan-limit (Օգտագործեք ՕՀ-ի հայտնաբերման հատկությունը միայն «խոստումնալից» հոսթորդների համար)

ՕՀ-ի հայտնաբերման հատկությունը շատ ավելի արդյունավետ է, եթե հայտնաբերվի առնվազն մեկ բաց և մեկ փակ TCP պորտ: Սահմանեք այս տարբերակը, և Nmap-ը նույնիսկ չի փորձի հայտնաբերել այս չափանիշներին չհամապատասխանող հոսթերների ՕՀ-ն: Սա կարող է շատ ժամանակ խնայել, հատկապես, երբ -PN-ը սկանավորում է բազմաթիվ հյուրընկալողներ: Այս տարբերակն ուժի մեջ կմտնի միայն այն դեպքում, երբ OS-ի հնարավորությունը միացված է՝ նշելով -O կամ -A տարբերակները:

--osscan-guess ; - անորոշ (Գուշակիր ՕՀ-ի հայտնաբերման արդյունքները)

Երբ Nmap-ը չի կարողանում ճշգրիտ համընկնում որոշել, այն երբեմն տալիս է համընկնումներ, որոնք ամենամոտն են սկանավորման արդյունքներին: Որպեսզի Nmap-ը դա անի լռելյայն, համընկնումները պետք է շատ մոտ լինեն: Այս (հավասար) տարբերակներից որևէ մեկը դրդում է Nmap-ին ավելի ագրեսիվ վերլուծել արդյունքները: Nmap-ը դեռ կհաղորդի, երբ ոչ կատարյալ համընկնում հայտնաբերվի, ինչպես նաև կցուցադրի համապատասխանության աստիճանը (տոկոսներով) յուրաքանչյուր հատկանիշի հավաքածուի համար:

--max-os-tries (սահմանում է OS-ն որոշելու փորձերի առավելագույն քանակը)

Երբ Nmap-ը փորձում է որոշել OS-ն թիրախային հոսթի վրա և չի կարողանում գտնել կատարյալ համընկնում, սովորաբար նորից է փորձում: Լռելյայնորեն, Nmap-ը փորձում է հինգ անգամ, եթե պայմանները բարենպաստ են ՕՀ-ի որոշման համար, և երկու անգամ հակառակ դեպքում: --max-os-tries-ի ավելի ցածր արժեքի կարգավորումը (օրինակ՝ 1) արագացնում է Nmap-ը, բայց դուք բաց եք թողնում որոշ գրառումներ, որոնք հնարավոր է օգտագործվեն ՕՀ-ի որոշման համար: Կարելի է մեծ արժեք սահմանել՝ նպաստավոր պայմաններում ավելի շատ փորձեր թույլ տալու համար: Սա հազվադեպ է արվում, բացառությամբ այն դեպքերի, երբ անհրաժեշտ է ստեղծել OS բնութագրերի ավելի մանրամասն հավաքածու՝ Nmap տվյալների բազայում ներառելու համար:

մարտի 19-ին, ժամը 10:48-ին, 2010 թ

nmap. Սկսել

  • Տեղեկատվական անվտանգություն

Երբևէ մտածե՞լ եք, թե ինչպես հարձակվողը գիտի, թե որ նավահանգիստները բաց են համակարգի վրա: Կամ ինչպե՞ս պարզել, թե ինչ հավելվածներ են աշխատում սերվերի վրա՝ առանց այդ մասին ադմինիստրատորին հարցնելու: Այս ամենը և ավելին կարող եք անել Nmap կոչվող փոքրիկ գործիքի միջոցով:


Ի՞նչ է nmap-ը: Nmap անունը կարճ է «ցանցային քարտեզագրող» բառի, nmap-ն ինքնին ցանցային սկանավորման գործիքների մի շարք է: Այն կարող է օգտագործվել անվտանգության ստուգումների համար, պարզապես հոսթի վրա աշխատող ծառայությունները որոշելու, ՕՀ-ն ու հավելվածները նույնականացնելու, սկանավորված հոսթի վրա օգտագործվող firewall-ի տեսակը որոշելու համար:
Nmap-ը հայտնի գործիք է։ Երբ ավելին իմանաք Nmap-ի մասին, կհասկանաք, թե ինչ է դա անում այնպիսի ֆիլմերի դրվագներում, ինչպիսիք են The Matrix Reloaded, The Bourne Ultimatum, Hottabych և այլն:
Այս ձեռնարկը կներառի Nmap-ի օգտագործման հիմունքները և կներկայացնի մի քանի օրինակներ, որոնք դուք կարող եք օգտագործել:

Որտե՞ղ կարող եմ ստանալ Nmap-ը:
Եթե ​​դուք օգտագործում եք Linux, կարող եք գտնել Nmap փաթեթներ պահեստներում բաշխումների մեծ մասի համար: Nmap-ը վերջին անգամ թողարկվել է 2010 թվականի սկզբին, ուստի վերջին տարբերակը կարող է ներկա կայուն մասնաճյուղերում չլինել: Ներբեռնման էջում կարող եք գտնել աղբյուրներ և որոշ երկուական կառուցումներ: Առկա է նաև windows տարբերակ։
Nmap-ի օգտագործման հիմունքները.
Nmap-ի շարահյուսությունը հետևյալն է.

Nmap Scan_options Scan_target:

Ենթադրենք, դուք ցանկանում եք սկանավորել հանգույցը և պարզել, թե ինչ օպերացիոն համակարգ է աշխատում դրա վրա: Դա անելու համար կատարեք հետևյալը.

nmap -O target.host.com

Նկատի ունեցեք, որ Nmap-ը պահանջում է արմատային արտոնություններ՝ այս տեսակի սկանավորումն իրականացնելու համար: Սկանավորման գործընթացը կարող է տևել մինչև մեկ րոպե, այնպես որ համբերատար եղեք: Երբ գործընթացը ավարտվի, դուք կտեսնեք նման բան.

Սկսվում է Nmap 5.21 (nmap.org) 2010-02-27 23:52 EST
Nmap սկան զեկույց 10.0.0.1-ի համար
Հոսթն ավարտված է (0,0015 վրկ ուշացում):
Ցուցադրված չէ՝ 997 փակ նավահանգիստներ
PORT STATE SERVICE
53/tcp բաց տիրույթ
5009/tcp open Airport-admin
10000/tcp բաց snet-sensor-mgmt
MAC հասցե՝ 00:11:24:6B:43:E2 (Apple Համակարգիչ)
Սարքի տեսակը՝ WAP|տպիչ
Գործող. Apple ներկառուցված, Canon ներկառուցված, Kyocera ներկառուցված, Xerox ներկառուցված
ՕՀ մանրամասներ՝ VxWorks՝ Apple AirPort Extreme v5.7 կամ AirPort Express v6.3; Canon imageRUNNER տպիչ (5055, C3045, C3380 կամ C5185); Kyocera FS-4020DN տպիչ; կամ Xerox Phaser 8860MFP տպիչ
Ցանցի հեռավորությունը՝ 1 հոպ

Ինչպես տեսնում եք, Nmap-ը շատ տեղեկություններ է տալիս: Այստեղ այն ցուցադրում է ենթադրություն օպերացիոն համակարգի մասին, որն աշխատում էր հանգույցում: Այս դեպքում սկանավորվել է Apple Airport Extreme երթուղիչը: Որպես հավելյալ բոնուս՝ Nmap-ը հայտնել է, որ սարքը մեկ ցատկ հեռավորության վրա է, ինչպես նաև սարքի և ցանցային քարտերի արտադրողի MAC հասցեն, բաց պորտերը և որքան ժամանակ է տևել սկանավորումը:
Ստորև ներկայացված են մեկ այլ սկանավորման արդյունքներ՝ տնային համակարգիչ, որն աշխատում է Ubuntu 9.10-ով.

Մեկնարկող Nmap 5.21 (nmap.org) 2010-02-28 00:00 EST
Nmap սկան հաշվետվություն 10.0.0.6-ի համար
Հոսթն ավարտված է (0,0039 վրկ ուշացում):
Ցուցադրված չէ՝ 999 փակ նավահանգիստներ
PORT STATE SERVICE
22/tcp բաց ssh
MAC հասցե՝ 00:17:08:2A:D6:F0 (Hewlett Packard)
Սարքի տեսակը՝ ընդհանուր նշանակության
Գործող՝ Linux 2.6.X
ՕՀ մանրամասները՝ Linux 2.6.19 - 2.6.31
Ցանցի հեռավորությունը՝ 1 հոպ

ՕՀ-ի հայտնաբերումը կատարվեց: Խնդրում ենք հայտնել սխալ արդյունքների մասին nmap.org/submit կայքում:
Կատարված Nmap. 1 IP հասցե (1 հոսթ վեր) սկանավորվել է 3,40 վայրկյանում

Այստեղ մենք տեսնում ենք, որ համակարգը ունի ցանցային քարտ HP, աշխատում է Linux 2.6.19-ից 2.6.31-ի միջև: Ի դեպ, դուք չեք կարողանա հստակորեն բացահայտել բաշխումը, միայն Linux միջուկի տարբերակը:

Օտար հանգույցների սկանավորում:

Վերոնշյալ օրինակներում տեղական երթուղիչը և աշխատանքային կայաններից մեկն ընտրվել են սկանավորման համար, քանի որ մենք իրավունք ունեինք սկանավորել դրանք: Այնուամենայնիվ, վատ գաղափար է մի քանի սկանավորումներ կատարել օտարերկրյա հոսթի վրա, եթե դուք չեք վերահսկում դրանք կամ չունեք սկանավորման թույլտվություն: Փորձերի համար Nmap-ն ունի հանրային թեստային սերվեր scanme.nmap.org, որը կարող եք օգտագործել:
Շատ ադմինիստրատորներ չեն սիրում իրենց սերվերների չարտոնված սկանավորումները, ուստի լավագույն տարբերակն է սահմանափակել հոսթինգների սկանավորումը ձեր տեղական ցանցում կամ նրանց, որոնց համար դուք իրավունք ունեք սկանավորել: Նաև, որոշ դեպքերում, դուք կարող եք խախտել ձեր ISP-ի հետ պայմանագիրը, երբ օգտագործում եք Nmap-ի հատկապես ագրեսիվ սկանավորման մեթոդները, այնպես որ զգույշ եղեք:

Բազմաթիվ հանգույցների սկանավորում:

Դուք կարող եք միաժամանակ սկանավորել մեկից ավելի հանգույցներ՝ օգտագործելով nmap: Եթե ​​սկանավորում եք IP հասցեով, կարող եք սահմանել 10.0.0.1-6 կամ 10.0.0.0/24 միջակայքը: Օգտագործելով 10.0.0.1-6 միջակայքը, հոսթերը սկանավորվելու է 10.0.0.1-ից մինչև 10.0.0.6: Օգտագործելով /24 սահմանումը, կսկանավորվի հյուրընկալողի ողջ միջակայքը 10.0.0.0-ից մինչև 10.0.0.255: Օրինակ, եթե ցանկանում եք սկանավորել հանգույցները 10.0.0.1-ից մինչև 10.0.0.42 և պարզել, թե որ ՕՀ-ն է հավանաբար աշխատում, օգտագործեք.

Nmap -O 10.0.0.1-42

Եթե ​​IP հասցեների փոխարեն ունեք տիրույթի անունների որոշակի ցուցակ, կարող եք դրանք առանձնացնել հրամանի տողում, այսպես.

nmap -O host1.target.com host2.target.com

Բաց նավահանգիստների ստուգում

Եթե ​​դուք գործարկեք nmap առանց ընտրանքների և նշեք հոսթ, այն կսկանավորի և ցույց կտա բոլոր բաց նավահանգիստները, որոնք գտնում է, և դրանց վրա աշխատող ծառայությունները: Օրինակ՝ վազել.
nmap target.hostname.com
որից հետո այն պետք է թողարկի նման բան.

Հետաքրքիր նավահանգիստներ target.hostname.com-ում (10.0.0.88):
Ցուցադրված չէ՝ 1711 փակ նավահանգիստներ
PORT STATE SERVICE
22/tcp բաց ssh
80/tcp բաց http
3306/tcp բաց mysql

Կատարված Nmap. 1 IP հասցե (1 հոսթ վեր) սկանավորվել է 0,228 վայրկյանում

Nmap-ը ավելի շատ տեղեկատվություն կտա, եթե օգտագործեք -v (բառային) տարբերակը:

Գործող ծառայությունների սկանավորում

Եթե ​​ցանկանում եք իմանալ, թե որ ծառայությունը կարող է գործարկվել, փորձեք -sV տարբերակը: Այս տարբերակը կկատարի ավելի ագրեսիվ սկանավորում և կփորձի պարզել, թե ծառայությունների որ տարբերակն է աշխատում տվյալ հանգույցում, ինչպես նաև կարող է օգնել ավելի ճշգրիտ որոշել, թե որ ՕՀ-ն է աշխատում: Օրինակ, գործարկեք nmap -sV թեստային սերվերի վրա և ստացեք հետևյալ պատասխանը.

Սկսվում է Nmap 5.21 (nmap.org) 2010-02-28 00:15 EST
Nmap սկանավորման հաշվետվություն test.host.net-ի համար (XXX.XXX.XXX.XX)
Հոսթն ավարտված է (0,090-ականների ուշացում):
Ցուցադրված չէ՝ 965 փակ պորտ, 33 զտված պորտ
PORT STATE SERVICE ՏԱՐԲԵՐԱԿ
22/tcp բաց ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (արձանագրություն 2.0)
80/tcp բաց http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 Suhosin-Patch-ով)
Ծառայության տվյալներ. ՕՀ՝ Linux

Կատարվել է ծառայության հայտնաբերում: Խնդրում ենք հայտնել սխալ արդյունքների մասին nmap.org/submit կայքում:
Կատարված Nmap. 1 IP հասցե (1 հոսթ վերև) սկանավորվել է 11,43 վայրկյանում

Ինչպես տեսնում եք, Nmap-ը կարող է վերլուծել փաթեթները և որոշել տարբերակը գործարկվող հավելվածներ SSH և HTTP պորտերի վրա: Այստեղ դուք կարող եք տեսնել, որ հարցման ենթարկվող համակարգը Ubuntu-ն է՝ Apache 2.2.8 և OpenSSH 4.7p1: Այս տեղեկատվությունը կարող է օգտակար լինել մի շարք պատճառներով: Nmap-ի սկանավորումը կարող է բացահայտել համակարգ, որն աշխատում է հին ծառայություններից, որոնք կարող են խոցելի լինել հայտնի շահագործումների համար:

Ո՞վ է իմ ցանցում:

Չգիտե՞ք, թե քանի առցանց հանգույց կա ձեր ցանցում: Փորձեք օգտագործել nmap -sP, որը կանցկացնի ping սկան նշված ցանցում: Օրինակ, nmap -sP 10.0.0.0/24-ը կսկանավորի 256 հանգույց 10.0.0.0-ից մինչև 10.0.0.255, կստուգի արդյոք դրանք հասանելի են և կզեկուցեն: Կարող եք նաև օգտագործել տիրույթ, օրինակ՝

nmap -sP 10.0.0.1-15

Zenmap

Վերջապես, եթե այս բոլոր ուրախությունները հրամանի տողոչ ձեզ համար, nmap-ն ունի GUI, որը կարող եք օգտագործել հրամաններ ստեղծելու և գործարկելու համար: Այն կոչվում է Zenmap: Այն թույլ կտա ընտրել թիրախ, կատարել սկան, ցուցադրել արդյունքները, ինչպես նաև պահպանել դրանք և համեմատել այլոց հետ:
GUI Zenmap-ն է լավ միջոցծանոթացեք Nmap-ին, բայց ավելի լավ է իմանալ, թե ինչպես օգտագործել Nmap հրամանի տողում, եթե այն հաճախ եք պատրաստվում օգտագործել:
Հետագա ձեռնարկում մենք ավելի խորը կանդրադառնանք Nmap-ին և կոնկրետ խնդիրներին, որոնք դուք կկարողանաք լուծել:

Այս գրառումը հոդվածի անվճար թարգմանությունն է

Համակարգի ադմինիստրատորն իրեն պատկերացնում էր ցանցի աստված,
բայց էլեկտրիկը կոպտորեն ցրեց այս առասպելը։

ՏՏ հումոր

Ներածություն

Ցանցային սկանավորումը կոտրելու կամ դրա կանխարգելման գործընթացի առաջին քայլերից մեկն է, քանի որ այն թույլ է տալիս որոշել ձեր համակարգչի ամենախոցելի և պոտենցիալ վտանգավոր բաց պորտերը: Քանի որ յուրաքանչյուր համակարգիչ ունի որոշակի առանձնահատկություններ, պորտի սկաների միջոցով կարող եք որոշել, թե որ ծառայությունները (FTP-, web-, փոստի սերվերև այլն) աշխատում են համակարգչում, ինչպես նաև, թե որ օպերացիոն համակարգը կառավարում է այն: Որքան շատ ծառայություններ են աշխատում համակարգչում, այնքան ավելի հավանական է, որ այն կոտրվի. ի վերջո, յուրաքանչյուր ծրագիր ունի խոցելիություններ:

Ցանցային սկաներները նախատեսված են հատուկ ցանցային հասցե (IP հասցե) կամ հասցեներ սկանավորելու և հետազոտվող համակարգչի բաց և, հնարավոր է, անապահով պորտերը հայտնաբերելու համար: Այնուամենայնիվ, նման ծրագրերը, որպես կանոն, օգտագործվում են հաքերների կողմից՝ հայտնաբերելու հնարավոր խոցելիությունը, այնուհետև համակարգիչ ներխուժելու համար և ոչ մի կերպ դրա անվտանգությունն ապահովելու համար։ Պարզվում է, որ անվտանգությունն ու հաքերային հարձակումը, թեև իրենց էությամբ հակապոդներ են, բայց թույլ են տալիս օգտագործել նույն միջոցները։

TCP արձանագրության հիմունքները

Հասկանալու համար, թե ինչպես է կատարվում սկանավորումը, դուք պետք է հասկանաք, թե ինչ ալգորիթմ է օգտագործվում համակարգիչների միջև TCP կապ ստեղծելու համար: Հաճախորդի և սերվերի միջև TCP կապ հաստատելու համար հաճախորդը հարցում է ուղարկում (TCP փաթեթ)՝ միացումը սկսելու համար սահմանված SYN դրոշակով: Եթե ​​սերվերը լսում է այս նավահանգիստը, նա փաթեթ է ուղարկում հաճախորդին SYN և ACK դրոշներով սահմանված՝ դրանով իսկ միաժամանակ ընդունելով հաճախորդի խնդրանքը և խնդրելով նրան հաստատել հակադարձ կապ: Այնուհետև հաճախորդը փաթեթ է ուղարկում ACK դրոշի հավաքածուով՝ ընդունելով SYN սերվերի խնդրանքը: Այնուհետև փոխանցվում են տվյալներ, որոնց ստացումը հաստատելու համար ամեն անգամ ուղարկվում է ACK դրոշակով փաթեթ: Երբ սերվերը կամ հաճախորդն ամբողջությամբ ավարտում է տվյալների փոխանցումը, այն ուղարկում է փաթեթ FIN դրոշակով, դրանով իսկ մյուս կողմին տեղեկացնում է կապը փակելու մասին: Մյուս կողմը, ստանալով FIN դրոշակով փաթեթ, ուղարկում է հետադարձ փաթեթ FIN դրոշի հավաքածուով` հաստատելով կապի ավարտը: Կապը դադարեցնելու համար կողմերից յուրաքանչյուրը կարող է ուղարկել RST դրոշով փաթեթ: Ավելի պարզ, փաթեթների փոխանակման գործընթացը ներկայացված է Աղյուսակում: 1.

Աղյուսակ 1. Կապի հաստատման և փաթեթների փոխանակման գործընթաց

Այս հաջորդականության հիման վրա սկաներներից շատերը տեղեկատվություն են ստանում հասանելի բաց նավահանգիստների և ցանցում համակարգչի առկայության մասին:

Nmap ցանցային սկաներ և դրա առանձնահատկությունները

Քանի որ Linux-ի և BSD OS-ի վրա հիմնված համակարգերը վերջերս ավելի ու ավելի տարածված են դարձել, այս հրապարակման մեջ մենք կանդրադառնանք օպերացիոն համակարգերի համար ամենաառաջադեմ ցանցային սկաներին: Linux համակարգեր- Nmap. Այս ծրագիրը շրջակա միջավայրում ամենատարածվածներից է: Linux օգտագործողներեւ առանձնանում է հզոր գործիքներով ու բարձր արագությամբ։

Nmap ցանցային սկաները հայտնվել է 1997 թվականին UNIX-ի վրա հիմնված օպերացիոն համակարգերի համար և շարունակում է կատարելագործվել մինչ օրս: ՕՀ-ի համար նախատեսված նմանատիպ ծրագրերից մինչև Windows բազաայն առանձնանում է հզոր ներկառուցված գործիքներով, բարձր արագությամբ, հարակից տարբեր կոմունալ ծառայություններով, սկանավորման տարբեր մեթոդներով և ժողովրդականությամբ, քանի որ գրեթե ցանկացած Linux բաշխումհագեցած այս ցանցային անվտանգության սկաներով: Այնուամենայնիվ, ինչպես Linux-ի համար նախատեսված բարձր մասնագիտացված ծրագրերը, այն չունի վերջնական օգտագործողին հասանելի կեղև և գործարկվում է հրամանի տողից: Իհարկե, կան լրացուցիչ ինտերֆեյսներ այս օգտակար ծրագիրը կառավարելու համար, ինչպիսիք են Umit-ը, Nmapfe-ն, որոնք օգտագործում են Nmap շարժիչը և ցուցադրում են տեղեկատվությունը պատուհանային ռեժիմում, այլ ոչ հրամանի տողում: Բայց, այնուամենայնիվ, այս կոմունալն ի սկզբանե մշակվել է հրամանի տողում աշխատելու համար, և «մոնտաժված» կոմունալները մեծացնում են գործառնական ժամանակը և ունեն բազմաթիվ թերություններ բնօրինակի համեմատ, ներառյալ դիզայնի ոճը: Բացի այդ, կա այս ծրագրի տարբերակը Windows-ի վրա հիմնված օպերացիոն համակարգերի համար: Քանի որ գործողության մեթոդները և շատ հրամաններ նույնական են երկու հարթակների համար, այս հոդվածը կքննարկի Nmap 4.1 տարբերակը Linux համակարգերի համար: Քանի որ Nmap-ը ներառված է Linux-ի գրեթե յուրաքանչյուր բաշխման մեջ, ցանցը սկանավորելու համար՝ առանց օպերացիոն համակարգը վերադասավորելու, կարող եք օգտագործել այսպես կոչված LiveCD-ը։ Այս տեսակի bootable սկավառակները չեն պահանջում տեղադրում և բեռնում CD/DVD սկավառակից՝ առանց բաժանման անհրաժեշտության: HDDև ստեղծել լրացուցիչ միջնորմներ - կոշտ սկավառակը այս դեպքում մաս է կազմում պատահական մուտքի հիշողությունհամակարգիչ։

Ներկայումս ցանցային սկաներները թույլ են տալիս որոշել շատերը լրացուցիչ ընտրանքներսկանավորված համակարգիչ: Nmap-ը կարող է որոշել հիմնական պարամետրերի մեծ մասը ցանցային ադապտեր MAC հասցե, համակարգչի անվանումը տիրույթում, բաց պորտեր, firewall-ով փակված պորտեր, ընկերությունը՝ ուսումնասիրվող համակարգչի ցանցային ադապտերների չիպսեթի արտադրողը, ՕՀ-ի տարբերակը և ծառայությունները: Նկատի ունեցեք, որ MAC հասցեները և չիպսեթների արտադրողի տեղեկությունները կարող են առբերվել միայն այն համակարգիչների համար, որոնք գտնվում են նույն ենթացանցում, ինչ սկանավորող համակարգիչը: Այս ծրագրի բոլոր առավելությունները գնահատելու համար հաշվի առեք այն բանալիները, որոնք առավել հաճախ օգտագործվում են դրա շահագործման մեջ:

Ինչպես արդեն նշվեց, Nmap-ը գործարկվում է հրամանի տողից: Երբ ծրագիրը գործարկում եք առանց որևէ անջատիչի կամ Nmap -h (--help) անջատիչով կամ առանց դրա, էկրանին կցուցադրվի հասանելի անջատիչների և կարգավորվող պարամետրերի ցանկը (նկ. 1):

Բրինձ. 1. Nmap հրամանը մուտքագրելիս ստեղների ցանկը

Ծրագիրը սկսելու շարահյուսությունը հետևյալն է. Nmap (նպատակային ճշգրտում), որտեղ Scan type-ի փոխարեն նշված է սկանավորման տեսակը (լռելյայն, եթե այս տեղը դատարկ մնա, Nmap-ը բաց կսկանավորի հասանելի նավահանգիստները): Որպես ընտրանքներ, մուտքագրվում են բոլոր տեսակի ստեղները և սկանավորման պարամետրերը, և թիրախային ճշգրտման փոխարեն՝ կա՛մ համակարգչի IP հասցեն, կա՛մ IP հասցեների մի շարք (որը որոշվում է ենթացանցային դիմակով), կա՛մ հյուրընկալողի անունը:

Ենթացանցային դիմակներ

Ամենայն հավանականությամբ, օգտվողները, ովքեր զբաղվում էին ցանցային ադապտերների կարգավորումներով, ստիպված էին զբաղվել այնպիսի պարամետրով, ինչպիսին է ենթացանցային դիմակը (Netmask): Այնուամենայնիվ, ոչ բոլորը գիտեն, թե դա ինչ է:

Ինչպես գիտեք, IP հասցեն բաղկացած է չորս ամբողջ թվից (օկտետ) և ներկայացված է xxx.xxx.xxx.xxx ձևով, որտեղ xxx-ը կարող է արժեքներ ընդունել 0-ից մինչև 254: Բայց IP հասցեն ինքնին բավարար չէ, և որպեսզի ցանցային սարքը որոշի, թե որ ենթացանցին է պատկանում համակարգիչը, ցույց տա, թե ցանցի որ մասի ID-ն է անհրաժեշտ ցանցի ID-ն և ցանցի ID-ն է անհրաժեշտ: (Հոսթի ID): Ցանցի ID-ն, ըստ էության, հենց ցանցի հասցեն է, մինչդեռ Host ID-ն հենց ցանցի հանգույցի հասցեն է: Դիտարկենք հոսթ՝ 10.242.10.242 IP հասցեով և 255.0.0.0 ենթացանցային դիմակով - այս դեպքում համակարգիչը պատկանում է 10.0.0.0 ցանցին: Այստեղ ցանցի ID-ն 10.0.0.0 է, իսկ հյուրընկալողի ID-ն՝ 242.10.242: Ցանցի հասցեն ստանալու համար, իմանալով IP հասցեն և ենթացանցի դիմակը, դուք պետք է կիրառեք բիթային կապի գործողությունը դրանց վրա: Արդյունքը բիթային AND է IP հասցեի և ենթացանցային դիմակի միջև.

Օրինակ, ավելի բարդ դիմակի դեպքում.

IP հասցե՝ 00001100 00100010 00111000 1001110 (12.34.56.78)

Ենթացանցային դիմակ՝ 11111111 11111111 11100000 0000000 (255.255.224.0)

Ցանցի հասցե՝ 00001100 00100010 00100000 0000000 (12.34.32.0)

Այնուամենայնիվ, ցանցը սկանավորելու և ավելի քիչ տեքստ գրելու համար կարող եք օգտագործել այլընտրանքային մուտքագրումենթացանցային դիմակներ՝ օգտագործելով նախածանցներ: Շատ դեպքերում համար պարզ ցանցերԴուք կարող եք սահմանափակվել պարզ ենթացանցային դիմակներով, ինչպիսիք են 255.0.0.0, 255.255.0.0 և 255.255.255.0: Ենթացանցային դիմակը հաճախ գրվում է IP հասցեի հետ մեկտեղ՝ IP հասցեի ձևաչափով / դիմակի մեջ 1 բիթերի թիվը: Օրինակ՝ 12.34.56.78 IP հասցեն 255.255.224.0 դիմակով (այսինքն՝ 19 բիթ 1 և 13 բիթ 0) կարող է գրվել որպես 12.34.56.78/19։ Դիտարկված երեք տեսակների համար կա ip/8, ip/16 և ip/24 ձևի այլընտրանքային մուտքագրում, որը թույլ է տալիս նվազեցնել հավաքված թվերի քանակը հրամանի տող մուտքագրելիս: Վերևի օրինակի համար ենթացանցային դիմակը կարող է գրվել որպես 10.242.10.242/8, ինչը զգալիորեն ավելի կարճ է, քան 10.242.10.242 դիմակ 255.0.0.0: Հետևաբար, 10.0.0.0 ցանցի IP հասցեի տիրույթը կարող է գրվել որպես 10.0.0.0/8:

Առաջին սկանավորման փորձերը

Եկեք վերադառնանք Nmap ցանցային սկաներին: Ինչպես արդեն նշվեց, որպես (նպատակային ճշգրտում) կարող եք նշել IP հասցե, հասցեների մի շարք և հյուրընկալողի անունը: Եթե ​​Ձեզ անհրաժեշտ է սկանավորել բազմաթիվ տարբեր IP հասցեներ և հյուրընկալողներ, հրամանի տողում ամեն ինչ ձեռքով մուտքագրելը այնքան էլ հարմար չէ (հատկապես, եթե հասցեների թիվը գերազանցում է 20-ը) - դրա համար Nmap-ն աջակցում է հասցեներով ֆայլի բեռնմանը: Աղյուսակում. 2-ում թվարկված են սկանավորված հասցեների մուտքագրման հետ կապված հնարավոր ստեղները:

Աղյուսակ 2. Հասցեներ մուտքագրելու համար պատասխանատու բանալիներ

Հարկ է նշել, որ հասցեների ցանկը պարունակող ֆայլը պետք է ձևաչափված լինի տեքստային ձև. Նոր հասցեն կամ հասցեների շրջանակը պետք է սկսվի նոր տողից: Սկանավորված հասցեների մուտքագրման օրինակները ներկայացված են նկ. 2 և 3.

Բրինձ. 2. Օգտագործելով հրամանի տողից հասցեներ մուտքագրելը

Իմանալով, թե ինչպես կարող եք սահմանել ուսումնասիրվող համակարգիչների հասցեները, եկեք տեսնենք, թե ի վերջո ինչ է ցուցադրվում էկրանին: Թիմ հավաքագրելը Nmap 10.0.0.62 10.0.0.53այդ հասցեներով համակարգիչների բաց պորտերը սկանավորելու համար։

Բրինձ. 3. Ֆայլից սկանավորված հասցեների կարգավորում

Սկան արդյունքները և դրանց վերլուծությունը

Նկ. 4-ը ցույց է տալիս սկանավորման արդյունքների արդյունքը: Նախ, Nmap-ը փորձում է անունը համապատասխանեցնել սկանավորված IP հասցեին՝ օգտագործելով DNS սերվեր: Եթե ​​գործողությունը հաջող է անցել, ապա հենց սկզբում Nmap-ը նշում է համակարգչի իրական անունը։ Ինչպես երևում է նկարից, IP հասցեն 10.0.0.62 համապատասխանում է pakhomov.computerpresspublishing.ru անվանմանը: Իսկ հաջորդ հետազոտված հասցեի համար՝ 10.0.0.53, նման համապատասխանություն չկա։ Հաջորդը, Nmap-ը ցուցադրում է փակ կամ արգելափակված նավահանգիստների մասին տեղեկությունները (Չի ցուցադրվում 1674 փակ նավահանգիստները), այնուհետև ցուցադրում է (երեք սյունակում) այլ կարգավիճակ ունեցող նավահանգիստները: Առաջին սյունակը ցույց է տալիս ընթացիկ նավահանգստի համարը, երկրորդը կարող է վերցնել տարբեր արժեքներ, որոնք ցույց կտան Nmap-ով որոշված ​​նավահանգստի կարգավիճակը.

  • բաց ( բաց նավահանգիստ) - նավահանգիստը բաց է, և ծառայությունն ընդունում է TCP կամ UDP միացումներ այս նավահանգստում (այս նավահանգիստն ամենախոցելին է հակերության համար);
  • զտված - նավահանգիստը փակված է firewall-ով, արգելափակող այլ ծրագրի կամ ծառայության միջոցով (երթուղիչի կանոններ, ապարատային firewall և այլն);
  • փակ - նավահանգիստը փակ է, քանի որ համակարգչի վրա այս պորտի վրա որևէ ծառայություն կամ այլ ծրագիր չի լսում:

Բրինձ. 4. Սկան արդյունքը

Եթե ​​նավահանգիստը դրված է չֆիլտրացվածի վրա, դա հուշում է, որ Nmap-ը չի կարողացել ճշգրիտ որոշել՝ արդյոք նավահանգիստը բաց է, թե փակ, սովորաբար այս արժեքը տրվում է ACK մեթոդով սկանավորման ժամանակ (նկարագրված է ավելի ուշ): Կան նաև երկու վավեր արժեքներ՝ բաց|զտված և փակ|զտված - երկու դեպքում էլ Nmap-ը չկարողացավ որոշել պորտի կարգավիճակը: Առաջին դեպքի արժեքը ավելի ճշգրիտ որոշելու համար դուք պետք է օգտագործեք FIN, Null, Xmas կամ UDP սկանավորում: Ամենայն հավանականությամբ, սկանավորման այս մեթոդները թույլ կտան ավելին ստանալ մանրամասն տեղեկություններ. Ինչ վերաբերում է փակ|զտված արժեքին, այն հայտնվում է միայն այն դեպքում, երբ օգտագործվում է Idlescan սկանավորման մեթոդը:

Վերջին սյունակը մի փոքր տեղեկատվություն է տալիս այս նավահանգստի օգտագործմամբ նախատեսված ծառայության մասին: Օրինակ, եթե 80 պորտը բաց է, Nmap-ը տեղեկացնում է, որ այս պորտը սովորաբար օգտագործվում է վեբ սերվերների կողմից (http): Հարկ է նշել, որ ավելի մեծ անվտանգության համար որոշ ծառայություններ գործարկվում են ոչ թե իրենց ստանդարտ նավահանգստում, այլ մեկ այլ, հետևաբար անհնար է պնդել, որ վեբ սերվերն աշխատում է 80-րդ նավահանգստում (տարբերակի սկանավորման մեթոդն օգտագործվում է գործող ծառայությունն ավելի ճշգրիտ որոշելու համար): Բաց նավահանգիստների ցանկը ցուցադրելուց հետո Nmap-ը ցուցադրում է ցանցային սարքի ֆիզիկական (MAC) հասցեն, ինչպես նաև, հնարավորության դեպքում, որոշում է ուսումնասիրվող ԱՀ-ի ցանցային ադապտեր չիպսեթի արտադրողին և, որոշ դեպքերում, նույնիսկ նրա անունը:

Ցանցում համակարգչի առկայության սկանավորման մեթոդներ

Վերևում քննարկված օրինակները բավականին պարզ են և չեն պահանջում լրացուցիչ բանալիներ, բայց սովորաբար հարմար են ցանցի համակարգիչների մեծ մասի համար: Այնուամենայնիվ, ագրեսիվ սկանավորման համար հետազոտվող համակարգչի մասին առավելագույն հնարավոր տեղեկատվություն ստանալու համար անհրաժեշտ է ճիշտ սահմանել սկանավորման պարամետրերը: Որոշելու համար, թե որ համակարգիչներն են աշխատում ցանցում, Nmap-ը թույլ է տալիս օգտագործել ցանցային սկանավորման մի քանի մեթոդներ՝ բոլորը պատկանում են Host Discovery բաժնին (հոսթների (համակարգիչների) հայտնաբերում):

Համակարգիչ գտնելը Ping մեթոդով

Ամենապարզ մեթոդը Ping-ի միջոցով աշխատող համակարգիչների հայտնաբերումն է: Դա անելու համար օգտագործեք -sP անջատիչը հրամանի տողում: Nmap ցանցային սկաները ուղարկում է ICMP արձագանքի հարցումներ տվյալ IP հասցեին կամ հասցեներին և սպասում պատասխանի: Եթե ​​պատասխան է ստացվել, ապա սկանավորված համակարգիչը աշխատում է, որը ցուցադրվում է որպես սկան արդյունք: Նկ. 5-ը ցույց է տալիս այս մեթոդի կիրառման արդյունքը:

Բրինձ. 5. Ստուգեք արդյունքը՝ օգտագործելով -sP

Այնուամենայնիվ, այսօր շատ համակարգիչներ, որոնք ունեն գոնե ինչ-որ տեսակի firewall, սովորաբար արգելափակում են ICMP հարցումները, ուստի նույնիսկ եթե համակարգիչը միացված է, Nmap-ը կհայտնի, որ համակարգիչը գոյություն չունի ցանցում: Այս դեպքում Nmap-ը տրամադրում է այլ մեթոդ՝ որոշելու, թե արդյոք համակարգիչը ցանցում է: Պինգ-սկանավորման օրինակը, որը մենք քննարկել ենք, հիմնված է կապի հաստատման հաջորդականության վերը նշված աղյուսակի վրա:

Բացահայտում SYN/ACK և UDP փաթեթներով

Եթե ​​ծառայությունը լսում է պորտում, և Nmap-ը փորձում է կապ հաստատել դրա հետ (փաթեթ է ուղարկում SYN դրոշակով), ծառայությունը կարող է պատասխանել SYN / ACK դրոշներով փաթեթով, որը ցույց կտա, որ համակարգիչը գոյություն ունի ցանցում: Բայց եթե այս պորտում ծառայություն չկա, ապա սերվերը հետ է ուղարկում RST դրոշակով փաթեթ, որը նաև ցույց է տալիս, որ տվյալ IP հասցեում կա համակարգիչ։ Եթե ​​սերվերից ոչինչ չի ստացվել ի պատասխան ուղարկված SYN փաթեթին, դա նշանակում է, որ կամ համակարգիչն անջատված է, կամ երթևեկությունն արգելափակված է firewall-ի կողմից: Մեկ այլ սկանավորման մեթոդ է մշակվել՝ շրջանցելու firewall-ի արգելափակումը: Nmap սկաները սովորաբար ուղարկում է SYN/ACK փաթեթներ և UDP փաթեթ 80 ստանդարտ պորտի վրա, որն առավել հաճախ օգտագործվում է վեբ տրաֆիկի համար և, հետևաբար, շատ հազվադեպ է արգելափակվում firewall-ով: Օգտագործելով -PS, -PA և -PU անջատիչները, կարող եք նշել, թե որ փաթեթը կուղարկվի սերվերին և որ պորտին: Այս հրամանների օրինակը ներկայացված է նկ. 6. Ի դեպ, պորտի անունը գրված է փաթեթի տեսակի հետ միասին՝ -PS80.81։

Բրինձ. 6. Ստուգեք արդյունքը՝ օգտագործելով -PA, -PS և -PU

Համակարգչի հայտնաբերում տարբեր ICMP փաթեթների միջոցով

Վերոնշյալ մեթոդը ճշգրիտ չի որոշում համակարգչի առկայությունը ցանցում: Nmap ցանցային սկաներն ունի մեկ այլ տարբերակ՝ որոշելու, թե արդյոք համակարգիչը ցանցում է: Այս հնարավորությունն օգտագործելու համար դուք պետք է նշեք լրացուցիչ անջատիչներ -PE, -PP կամ -PM: Առաջին մեթոդն օգտագործում է ICMP echo հարցումներ, սակայն, ինչպես արդեն նշվեց, ICMP տրաֆիկը հաճախ արգելափակվում է, ուստի այս մեթոդը միշտ չէ, որ կիրառելի է, բայց հետևելով ICMP ճշգրտմանը, կան նաև ամսաթվի / ժամի հարցումներ (ժամանականիշի հարցումներ) և ցանցային դիմակների հասցեներ (հասցեի դիմակի հարցումներ): Օգտագործելով այս մեթոդները, կարող եք նաև պատասխան ստանալ հեռավոր համակարգիչ, բայց հաճախ դրանք ցանկալի արդյունք չեն տալիս։ ICMP echo մեթոդը օգտագործելու համար դուք պետք է նշեք -PE ստեղնը, նկարագրված մյուս երկու մեթոդների համար՝ համապատասխանաբար -PP և -PM ստեղները: Նկ. 7-ը ցույց է տալիս երեք եղանակով սկանավորման փորձեր:

Բրինձ. 7. -PE, -PP և -PM ստեղների միջոցով սկանավորման արդյունք

Անջատել համակարգչի հայտնաբերումը սկանավորման ժամանակ

Որպես կանոն, անհնար է ճշգրիտ որոշել համակարգչի առկայությունը ցանցում, կամ եթե այդպես է, ապա դրա սկանավորումը կարող է արգելափակվել firewall-ով: Այս առումով ներդրվեց -P0 տարբերակը, որի դեպքում հետազոտվող համակարգիչը չի սկանավորվում ցանցում առկայության համար (այսինքն ընդհանրապես չի պինգ անում), այլ սկանավորվում են միայն համակարգչի պորտերը։ Այս տարբերակն օգտագործելիս Nmap-ը ենթադրում է, որ սկանավորված IP հասցեները ցանցում են և հարցումներ չի ուղարկում ցանցում համակարգչի առկայությունը որոշելու համար, ինչը զգալիորեն մեծացնում է սկանավորման արագությունը: Այս տարբերակը սովորաբար օգտագործվում է գաղտնի սկանավորման համար՝ օգտագործելով այն մեթոդները, որոնք կներկայացվեն ավելի ուշ, քանի որ այս դեպքում ICMP echo հարցումների մասին որևէ տեղեկություն չի մնում հետազոտվող համակարգչում:

Լռելյայնորեն, երբ սկանավորում է IP հասցեն, Nmap-ը համակարգչի անվան մասին տեղեկատվություն է ստանում համակարգի DNS-ից: Սկանավորման արագությունը մեծացնելու համար կարող եք անջատել այս տարբերակը՝ ավելացնելով -n անջատիչը: Ի դեպ, գրեթե բոլոր ծրագրերում և ծառայություններում, այս կամ այն ​​կերպ կապված ցանցային միջավայրի հետ, այս իմաստով օգտագործվում է -n անջատիչը (netstat -n, route -n և այլն)։ Կան նաև մի քանի տարբերակներ, որոնք թույլ են տալիս ստանալ համակարգչի անունը՝ օգտագործելով ոչ միայն համակարգի DNS, այլ նաև արտաքին DNS սերվերներ. Այս տարբերակը ակտիվացնելու համար անհրաժեշտ է բանալիով գործարկել Nmap-ը --dns-սերվերներ , որտեղ serv1-ը և serv2-ը DNS սերվերի հասցեներ են: Որպես այլընտրանք, դուք կարող եք օգտագործել -R անջատիչը: Ինչպես արդեն նշվեց, լռելյայնորեն, Nmap-ը համակարգչի անունը ստանալու համար օգտագործում է համակարգի DNS: Այս տարբերակը ձեռքով նշելու համար դուք պետք է մուտքագրեք բանալին --system-dns. Նկ. 8-ը ցույց է տալիս -n և -R --dns-servers անջատիչների օգտագործման օրինակներ:

Բրինձ. 8. Օգտագործելով -n և -R --dns-servers անջատիչներ

Հեռակառավարվող համակարգչային պորտի սկանավորման մեթոդներ

Nmap ցանցային սկաները ներառում է սկանավորման և անհրաժեշտ տեղեկատվության ստացման մի շարք մեթոդների օգտագործում: Այնուամենայնիվ, եկեք վերապահում անենք, որ շատ մեթոդներ ներառում են տարբեր մանիպուլյացիաներ TCP փաթեթային դրոշներով ցածր մակարդակի վրա, և, հետևաբար, պահանջում են արմատային (գերօգտագործողի) արտոնություններ համակարգում աշխատելու համար: Օգտագործված մեթոդները կարող են գործել միայն միմյանցից առանձին, միայն UDP պորտի սկանավորումը կարող է իրականացվել սկանավորման այլ մեթոդների հետ միաժամանակ: Նավահանգիստների սկանավորումը հիմնված է TCP և UDP միացումներ սկսելիս փոխված դրոշներով փաթեթներ ուղարկելու նույն մեթոդի վրա:

SYN սկան

Ամենատարածված մեթոդը, որն օգտագործվում է լռելյայնորեն, TCP SYN սկանավորումն է: Հետազոտվող համակարգիչների մեծ մասի համար այս մեթոդը բավարար է բաց նավահանգիստները որոշելու համար: TCP SYN սկանավորումը մյուս մեթոդներից ամենաարագն է. այն թույլ է տալիս վայրկյանում սկանավորել մի քանի հարյուր նավահանգիստ՝ միաժամանակ սկանավորող համակարգիչը ստվերում պահելով, քանի որ այն երբեք չի ավարտում TCP կապը (մոնիթորինգի կոմունալ ծառայություններից շատերը չեն գրանցում կապի տվյալները): Այս մեթոդն օգտագործելու համար պահանջվում են գերօգտագործողի (արմատային) իրավունքները: Nmap սկաները SYN դրոշակով փաթեթ է ուղարկում հետաքննության ենթակա համակարգչին, կարծես թե ցանկանում է բացել նորմալ TCP կապ՝ հետևելով հոդվածի սկզբում տրված կանոններին: Եթե ​​պատասխանը (SYN/ACK դրոշներով փաթեթ) ստացվի հայցվող հոսթից, պորտը կնշվի որպես բաց, իսկ երբ ստացվի RST դրոշով փաթեթ, այն կնշվի որպես փակ: Եթե ​​սկանավորված համակարգիչը չի արձագանքում, ենթադրվում է, որ այս նավահանգիստը զտվում է firewall-ով: Այս սկանավորման մեթոդն օգտագործելու համար անհրաժեշտ է գործարկել Nmap-ը -sS անջատիչով (նկ. 9):

Բրինձ. 9. Սկանավորում՝ օգտագործելով -sS անջատիչը (TCP SYN սկանավորում)

Ինչպես տեսնում եք նկարից, նավահանգիստների մեծ մասը բաց են, բայց որոշները փակ են firewall-ով:

Սկանավորում՝ օգտագործելով connect() համակարգի գործառույթը

Կան իրավիճակներ, երբ չկան գերօգտագործողի իրավունքներ, սակայն անհրաժեշտ է սկանավորել հեռավոր համակարգիչը։ Այս դեպքում Nmap-ն օգտագործում է կապի վրա հիմնված մեթոդ համակարգի գործառույթը connect() մեթոդը, որն օգտագործվում է հավելվածների մեծ մասի կողմից՝ p2p հաճախորդներ, բրաուզերներ և ցանցային հավելվածներ. Այս դեպքում Nmap-ը հարցում է ուղարկում հենց օպերացիոն համակարգին, որը հաստատում է TCP կապ: Եթե ​​կապը հաստատված է, ապա նավահանգիստը նշվում է որպես բաց, իսկ եթե ոչ՝ փակ։ Պորտի կարգավիճակը որոշելուց հետո Nmap-ը դադարեցնում է կապը, այսինքն՝ օգտագործելով connect() ֆունկցիան, ուղարկվում է RST դրոշակով փաթեթ։ Այնուամենայնիվ, այս մեթոդը ունի մեկ թերություն. քանի որ կապը լիովին հաստատված է, այն մնում է սկանավորվող համակարգի տեղեկամատյաններում և տեղեկամատյաններում, և հետևաբար մոնիտորինգի համակարգերը գրեթե միշտ որոշում են, թե որ համակարգիչը սկանավորվել է: Արդյունքում, այս մեթոդը հազվադեպ է օգտագործվում: Վերոնշյալ սկանավորումը գործարկելու համար անհրաժեշտ է գործարկել Nmap-ը -sT անջատիչով: Connect() համակարգի ֆունկցիայի օգտագործմամբ սկան մեթոդի օգտագործման օրինակ ներկայացված է նկ. 10.

Բրինձ. 10. Սկանավորում՝ օգտագործելով -sT անջատիչը (TCP connect() սկանավորում)

UDP պորտերի սկանավորում

Չմոռանանք UDP ծառայությունների մասին, որոնք գրեթե նույնքան տարածված են, որքան TCP արձանագրությունն օգտագործող ծառայությունները։ UDP արձանագրություն օգտագործող ամենատարածված ծառայություններն են DNS, SNMP և DHCP: Քանի որ UDP արձանագրության սկանավորումն ավելի բարդ և դանդաղ է, քան TCP սկանավորումը, շատ անվտանգության համակարգեր անտեսում են այն և անտեսում այս նավահանգիստների լսումը (զտումը): Բայց այս դեպքում, այս նավահանգիստների վրա լսող ծառայությունները նույնպես կարող են խոցելի լինել հաքերների նկատմամբ, քանի որ Nmap-ը թույլ է տալիս որոշել, թե որ նավահանգիստներն են բաց, և որ ծառայություններն են լսում դրանց վրա: Քանի որ UDP արձանագրությունը նման չէ TCP-ին, սկանավորման մեթոդը տարբերվում է նախկինում քննարկվածներից: Nmap-ը ուղարկում է UDP փաթեթ դատարկ վերնագրով բոլոր նավահանգիստների վրա, որոնք նա ուսումնասիրում է և սպասում պատասխանի: Եթե ​​այն ի պատասխան ստանում է անհասանելի սխալով ICMP փաթեթ, ապա նավահանգիստը համարվում է փակ: Այլ սխալներով փաթեթներ ստանալիս Nmap-ը ենթադրում է, որ պորտը զտվում է firewall-ով: Ստացված UDP պատասխանի փաթեթը ցույց է տալիս ծառայության առկայությունը, և նավահանգիստը նշվում է բաց: Եթե ​​մի քանի փորձից հետո պատասխան չստացվի, Nmap-ը նշում է նավահանգիստը որպես բաց|զտված, քանի որ այն չի կարող հստակ որոշել, թե արդյոք նավահանգիստը բաց է, թե արդյոք firewall-ը արգելափակում է երթևեկությունը այդ նավահանգստում: Բացի այդ, շատ համակարգիչներ կարող են վայրկյանում ուղարկել միայն սահմանափակ թվով ICMP սխալի հաղորդագրություններ: Սա արվում է ցանցի գերբեռնվածությունից պաշտպանվելու համար: Նավահանգստի վիճակը պարզաբանելու համար կարող եք օգտագործել -sV անջատիչը (այս դեպքում Nmap-ը փորձում է որոշել սկանավորված պորտի վրա աշխատող ծառայությունը և դրա տարբերակը), բայց հետո սկանավորման արագությունը նվազում է մեծության կարգով։ UDP սկանավորումը կարող է գործարկվել TCP սկանավորման ցանկացած մեթոդի հետ միաժամանակ, քանի որ դրանք օգտագործում են տարբեր արձանագրություններ: UDP սկանավորումը գործարկվում է, երբ -sU անջատիչը նշված է: Արագության տարբերությունները ցույց են տրված նկ. 11, որը հաջորդաբար ցույց է տալիս առանց -sV տարբերակի սկանավորման և դրա օգտագործման օրինակներ։

Բրինձ. 11. UDP սկանավորում -sV անջատիչով և առանց դրա

Նկարը ցույց է տալիս, որ ծառայության տարբերակի հայտնաբերման տարբերակով սկանավորումը տևել է գրեթե 10 անգամ ավելի երկար (54 վայրկյան ընդդեմ 4-ի), քան առանց դրա: Բայց այս տարբերակը օգնեց որոշել, որ UDP 53 և 137 նավահանգիստները բաց են, չնայած նախորդ սկանավորումը չէր կարող ճշգրիտ որոշել դրանց կարգավիճակը: Միևնույն ժամանակ, նույնիսկ այս տարբերակը միշտ չէ, որ օգնում է հուսալի տեղեկատվություն ստանալ. անորոշ կարգավիճակով ինը նավահանգիստներից միայն երկուսն են ճշգրիտ նույնականացվել (53-րդ և 137-րդ): Nmap-ը նաև թույլ է տալիս սահմանել պատասխանի ժամանակը հետազոտվող համակարգչի համար՝ դրանով իսկ հեռացնելով դանդաղ հոսթերը և զգալիորեն մեծացնելով UDP սկանավորման արագությունը: Սկանավորված համակարգչի պատասխանի համար պատասխանատու տարբերակը կարող է օգտագործվել ոչ միայն UDP սկանավորման, այլ նաև բոլոր այլ մեթոդների հետ: Այս տարբերակը օգտագործելու համար դուք պետք է մուտքագրեք բանալին --հյուրընկալողներ-թայմութ , որտեղ վրկ պատասխանի ժամանակը միլիվայրկյաններով է:

Սկանավորում FIN, Xmas և Null մեթոդներով

Քանի որ TCP կապը հիմնված է այս հոդվածի սկզբում քննարկված եռակողմ ձեռքսեղմման վրա, ընդհատելով կապի հաջորդականությունը, դուք կարող եք նաև տեղեկատվություն ստանալ ուսումնասիրվող հոսթի փակ և բաց պորտերի մասին: Գոյություն ունի FIN սկանավորման մեթոդ, որն ուղարկում է FIN դրոշակով փաթեթներ հեռավոր հոսթին, որոնք սովորաբար կիրառվում են, երբ կապը փակ է: Այս դեպքում համակարգչի փակ պորտը, համաձայն TCP արձանագրության ճշգրտման, պետք է ուղարկի պատասխան փաթեթ RST դրոշակով: Եթե ​​նավահանգիստը բաց է կամ արգելափակված է firewall-ով, դրանից պատասխան չի լինի: Ինչպես SYN սկանավորման դեպքում, կապն ամբողջությամբ հաստատված չէ, հետևաբար, հնարավոր է, որ որևէ տեղեկություն չլինի ուսումնասիրվող հյուրընկալողի համակարգի մատյաններում, միևնույն ժամանակ, մոնիտորինգի համակարգերի մեծ մասը կարող է շտկել այս տեսակի սկանավորումը: Այս մեթոդն ավելի գաղտագողի է, քան TCP կապի սկանավորումը և թույլ է տալիս որոշել, թե արդյոք նավահանգիստը փակ է, թե բաց (արգելափակված), ուստի այս մեթոդի մի քանի փոփոխություններ կան: Անվավեր սկանավորման մեթոդն օգտագործելիս FIN դրոշակով փաթեթի փոխարեն ուղարկվում է դատարկ վերնագրով փաթեթ (0 բիթ, բոլոր դրոշներն անջատված են): Այս մեթոդը աշխատում է այնպես, ինչպես նկարագրված է վերևում: Մեկ այլ մեթոդ, որն ունի աշխատանքի նմանատիպ ալգորիթմ, կոչվում է Xmas scanning: Այս դեպքում հյուրընկալողին ուղարկվում է մի փաթեթ, որը գունավորված է մի քանի դրոշներով (FIN, PSH և URG) տոնածառի ձևով: Դիտարկված մեթոդներից յուրաքանչյուրն ունի իր բանալիները՝ -sN, -sF և -sX (համապատասխանաբար Null-, FIN- և Xmas-scan): Նկ. 12-ը ցույց է տալիս բոլոր երեք տեսակների սկանավորման օրինակներ, իսկ համեմատության համար՝ նկ. 13 - SYN սկանավորման մեթոդ:

Բրինձ. 12. Սկանավորում՝ օգտագործելով -sN, -sF և -sX անջատիչներ

Սկանավորման արդյունքները SYN-ի և Null-ի, FIN-ի և Xmas-ի հետ համեմատելիս կարելի է տեսնել, որ նրանց օգնությամբ շատ նավահանգիստներ որոշվել են ոչ թե ճշգրիտ բաց, այլ միայն որպես բաց|զտված: Դա պայմանավորված է նրանով, որ Windows ընտանիքի, Cisco ցանցային սարքերի և այլ օպերացիոն համակարգերի մեծ մասը միշտ չէ, որ հետևում են ճշգրտմանը, ուստի այս տեսակի համակարգերի նման սկանավորման արդյունքը, ամենայն հավանականությամբ, բացասական կլինի: Միևնույն ժամանակ, այս երեք մեթոդներով սկանավորումը հարմար է UNIX-ի վրա հիմնված համակարգերի բաց նավահանգիստները որոշելու համար, որոնք հետևում են TCP արձանագրության ճշգրտմանը, ինչպես նաև թույլ է տալիս շրջանցել բազմաթիվ firewalls և փաթեթների զտիչ:

Բրինձ. 13. SYN սկան

Սկանավորում տարբեր դրոշներով

Nmap-ը թույլ է տալիս սահմանել այն դրոշները, որոնք կօգտագործվեն այս տեսակի սկանավորման համար, որի համար անհրաժեշտ է գործարկել ծրագիրը --scanflags անջատիչով: Այս դեպքում դրոշակների տեսակները կարող են տարբեր լինել՝ URG, ACK, PSH, RST, SYN և FIN: Հրամանի շարահյուսությունը հետևյալն է. nmap --scanflags URGACKPSHRSTSYNFIN. Բացի այս հրամանից, դուք կարող եք նշել սկանավորման երկու եղանակ՝ -sA և -sF (եթե դրանք նշված չեն, SYN սկանավորման մեթոդը օգտագործվում է լռելյայնորեն):

Սկանավորում ACK և Window մեթոդներով

Որոշելու համար, թե համակարգչի որ նավահանգիստները գտնվում են զտված կարգավիճակում, և որոնք՝ չզտված կարգավիճակում, կա առանձին ցուցադրված սկանավորման տեսակ՝ ACK: Այն կարող է միացվել նաև --scanflags ACK անջատիչի միջոցով: Քանի որ շատ firewalls նայում են SYN փաթեթներին միայն կոնկրետ նավահանգստի վրա, դրանով իսկ կատարելով զտում, ուղարկելով փաթեթներ ACK դրոշակով, շատ հավանական է, որ հետախուզվող համակարգչի վրա կա firewall, թե ոչ: ACK դրոշակով փաթեթն այս դեպքում ուղարկվում է ոչ թե որպես կապի մաս, այլ առանձին: Եթե ​​ստացող կողմը ուղարկում է հետադարձ փաթեթ RST դրոշով (համապատասխանաբար, նավահանգիստը արգելափակված չէ firewall-ի կողմից), ապա նավահանգիստը նշվում է որպես չֆիլտրված, բայց եթե հոսթը չի արձագանքում փաթեթին, ապա դրա վրա տեղադրվում է firewall, և պորտը գտնվում է զտված կարգավիճակում: Այս մեթոդը ակտիվացնելու համար անհրաժեշտ է գործարկել Nmap-ը -sA անջատիչով: Նկ. 14-ը ցույց է տալիս սկանավորման այս մեթոդի կիրառման օրինակ:

Բրինձ. 14. Սկանավորել ACK մեթոդով

Քանի որ համակարգիչն արդեն ուսումնասիրվել է SYN սկանավորման միջոցով (տես Նկար 13), կարելի է ասել, որ ACK սկանավորումը կարող է որոշել միայն որոշ հյուրընկալող պորտերի կարգավիճակը: Այս մեթոդը ունի անալոգային, որն աշխատում է նույն սկզբունքով, բայց մեկնաբանում է հյուրընկալողից ստացված արդյունքները մի փոքր այլ կերպ: TCP պատուհանի սկանավորումը ենթադրում է, որ որոշ հոսթինգների ծառայությունները դրական արժեք են օգտագործում պատասխան փաթեթի պատուհանի դաշտի համար (ոչ զրոյ): Հետևաբար, օգտագործելով այս մեթոդը, Nmap-ը վերլուծում է մուտքային փաթեթների վերնագրերը RST դրոշակով, և եթե մուտքային փաթեթը պարունակում է դաշտի դրական արժեք, ապա Nmap-ը նշում է այս պորտը որպես բաց: Անվավեր դաշտի արժեքով փաթեթ ստանալը նշանակում է, որ նավահանգիստը փակ է: Սկանավորման այս մեթոդը ակտիվացնելու համար դուք պետք է մուտքագրեք -sW անջատիչը:

Սկանավորում Maimon մեթոդով

Եռակողմ կապի վրա հիմնված սկանավորման մեկ այլ մեթոդ Ուրիել Մայմոն անունով մասնագետի նկարագրած մեթոդն է: Դրա մեթոդը գրեթե նույնական է FIN, Xmas և Null մեթոդներին, բացառությամբ, որ փաթեթներն ուղարկվում են FIN/ACK դրոշներով: Այստեղ, եթե նավահանգիստը փակ է, ապա հյուրընկալողը պետք է պատասխանի RST փաթեթով: Այս սկանավորման մեթոդը ակտիվացնելու համար դուք պետք է մուտքագրեք -sM անջատիչը:

Վերոհիշյալ բոլոր մեթոդները հիմնված են նույն եռակողմ միացման մեթոդի վրա TCP կապի վրա:

Ծածկված սկանավորում՝ օգտագործելով անգործունյա սկանավորման ալգորիթմը

Դիտարկված մեթոդներից և ոչ մեկը թույլ չի տալիս ամբողջությամբ թաքցնել սկանավորող հոսթի IP հասցեն: Քանի որ ելքային փաթեթի IP հասցեի կեղծումը այնքան էլ դժվար չէ, գտնվել է սկանավորման մեթոդ, որի դեպքում հետազոտվող հոսթը չի կարող որոշել այն համակարգչի ճշգրիտ IP հասցեն, որտեղից կատարվում է սկանավորումը: Անգործուն սկանավորման մեթոդը գրեթե նույնական է SYN սկանավորմանը իր գործող ալգորիթմով: Հասկանալու համար, թե ինչպես է դա թաքցնում սկանավորող համակարգչի IP հասցեն, դուք պետք է իմանաք, որ յուրաքանչյուր IP փաթեթ ունի իր համարը (հատվածի նույնականացման համարը, IPID): Շատ օպերացիոն համակարգեր ավելացնում են այս թիվը յուրաքանչյուր հաջորդ ուղարկված փաթեթի համար, այնպես որ դուք հեշտությամբ կարող եք որոշել, թե քանի փաթեթ է ուղարկել հոսթը: Այս դեպքում պետք է նկատի ունենալ, որ եթե համակարգիչը ստացել է SYN / ACK դրոշներով փաթեթ մի հասցեից, որից կապ չի խնդրել, ապա ի պատասխան այն կուղարկի փաթեթ RST դրոշակով: Այս մեթոդը ներառում է մեկ այլ «զոմբի» համակարգչի օգտագործում, որի անունից փաթեթները կուղարկվեն սկանավորված համակարգիչ։ Հաջորդը, հաշվի առեք idlescan մեթոդի ալգորիթմը:

Թող սկանավորող համակարգիչը լինի հարձակվող, զոմբի համակարգիչը՝ զոմբի, իսկ սկանավորված համակարգիչը՝ թիրախ:

Առաջին դեպքը` հետաքննվող նավահանգիստը բաց է.

  • Հարձակվողը SYN/ACK դրոշներով փաթեթ է ուղարկում զոմբիին, իսկ ի պատասխան՝ զոմբին ուղարկում է RST դրոշով փաթեթ: Այս փաթեթը, օրինակ, ունի նույնականացման համարը(IPID) 123;
  • հարձակվողը զոմբի համակարգչի անունից ուղարկում է SYN դրոշով փաթեթ ցանկալի պորտի վրա.
  • թիրախը պատասխանի հարցում է ուղարկում SYN/ACK դրոշներով զոմբիին: Ի պատասխան՝ zombie-ն ուղարկում է RST դրոշով փաթեթ թիրախային համակարգչին, քանի որ զոմբիը մտադիր չէր կապ հաստատել դրա հետ։ Այս փաթեթի թիվն ավելացել է մեկով՝ IPID 124;
  • Հարձակվողը SYN/ACK դրոշով փաթեթ է ուղարկում զոմբիին, ի պատասխան՝ զոմբին ուղարկում է RST դրոշով փաթեթ: Այս փաթեթն ունի IPID արդեն երկուսով ավելացված՝ 125:

Երկրորդ դեպքը - նավահանգիստը փակ է.

  • Հարձակվողը SYN/ACK դրոշներով փաթեթ է ուղարկում զոմբիին, ի պատասխան՝ զոմբին ուղարկում է RST դրոշով փաթեթ: Այս փաթեթը, օրինակ, ունի նույնականացման համար (IPID) 123;
  • հարձակվողը զոմբի համակարգչի անունից ուղարկում է SYN դրոշով փաթեթ ցանկալի պորտի վրա.
  • թիրախը զոմբիին ուղարկում է RST դրոշով փաթեթ: Ի պատասխան՝ զոմբիը ոչինչ չի ուղարկում.
  • Հարձակվողը SYN/ACK դրոշով փաթեթ է ուղարկում զոմբիին, ի պատասխան՝ զոմբին ուղարկում է RST դրոշով փաթեթ: Այս փաթեթն ունի IPID՝ ավելացված մեկով՝ 124:

Այսպիսով, պարզ թվաբանությամբ հնարավոր է հաշվարկել ուսումնասիրվող համակարգչի վրա պորտը բաց է, թե փակ։ Առավելություն այս մեթոդըայն է, որ շատ դժվար է որոշել սկանավորող համակարգչի IP հասցեն, քանի որ թիրախային համակարգիչը կարծում է, որ սկանավորումն իրականացրել է զոմբի համակարգիչը, իսկ սկանավորող համակարգչի հարցումները մնում են միայն զոմբիների տեղեկամատյաններում: Այս սկանավորման մեթոդը ակտիվացնելու համար դուք պետք է մուտքագրեք -sI անջատիչը , որտեղ zombie-ն այն համակարգչի անունն է կամ IP հասցեն, որի անունից կիրականացվի սկանավորումը, իսկ պորտը սկանավորող համակարգչի և զոմբիի միջև հաղորդակցության պորտն է (կանխադրվածը 80 է, քանի որ այս պորտը բաց է վեբ տրաֆիկի համար համակարգիչների մեծ մասում): Այս մեթոդով սկանավորման օրինակը ներկայացված է նկ. 15, համեմատության համար ցուցադրված է նաև SYN սկանավորման օրինակ:

Բրինձ. 15. Սկանավորում՝ idlescan մեթոդով

Ինչպես երևում է նկարից, 10.0.0.79 IP հասցեով համակարգիչը ծառայել է որպես «զոմբի» համակարգիչ, մինչդեռ սկանավորված համակարգիչն ուներ IP հասցե 10.0.0.62: Արդյունքները վերլուծելուց հետո կարելի է պնդել, որ idlescan մեթոդը միշտ չէ, որ ճիշտ է որոշում պորտի կարգավիճակը (այն բաց է կամ արգելափակված է firewall-ի կողմից): Բացի այդ, եթե համեմատենք սկանավորման ժամանակը, ապա SYN մեթոդի արագությունը շատ ավելի բարձր է, քանի որ Nmap idlescan-ը երբեմն ստիպված է լինում փաթեթներ ուղարկել մի քանի անգամ, քանի որ զոմբի համակարգիչը կարող է նաև ինտենսիվ աշխատել և ակտիվորեն փոխանակել փաթեթները՝ միաժամանակ տապալելով IPID հաշվիչը, որը հաշվարկվում է Nmap-ով: Այս մեթոդը ամենանախընտրելին է, եթե անհրաժեշտ է թաքցնել սկանավորումը, այնուամենայնիվ, այն դեռևս չի տալիս ուսումնասիրվող համակարգչի բաց պորտերի ճշգրիտ պատկերը: Այս տեսակի սկանավորումը խորհուրդ է տրվում գործարկել -P0 անջատիչով, քանի որ այս դեպքում Nmap-ը սկանավորումից առաջ չի ուսումնասիրում հյուրընկալողը: Որոշ դեպքերում, եթե զոմբի համակարգիչը իրեն ագրեսիվ է պահում և կանխում է սկանավորման արդյունքների ստացումը (չի կարող ցուցադրել սկան արդյունքները), և դուք պետք է տեղեկատվություն ստանաք բաց նավահանգիստների մասին, կարող եք օգտագործել -v -v (բառային ռեժիմ) տարբերակը: Այս ռեժիմում Nmap-ը ցուցադրում է բոլոր ծառայությունների և ստացված տեղեկությունները էկրանին առցանց ռեժիմում:

Բաց արձանագրությունների սկանավորում

Որոշ դեպքերում անհրաժեշտ է սահմանել բաց արձանագրություններ հեռավոր հոսթի վրա: Քանի որ յուրաքանչյուր IP փոխադրման շերտի արձանագրությանը տրված է իր հաջորդական համարը, և յուրաքանչյուր IP փաթեթ ունի արձանագրության դաշտ, որը ցույց է տալիս փաթեթի վերնագրերի տեսակը և արձանագրության համարը, կարող եք պարզել, թե որ արձանագրությունները բաց են հետազոտվող համակարգչում: Որոշելու համար, թե արդյոք պրոտոկոլը հասանելի է հոսթինգում, Nmap-ը ուղարկում է մի քանի փաթեթ դատարկ վերնագրերով, որոնք պարունակում են միայն արձանագրության համարը արձանագրության դաշտում: Այն դեպքում, երբ արձանագրությունն անհասանելի է, համակարգիչը կվերադարձնի ICMP հաղորդագրություն «արձանագրությունն անհասանելի է»: Եթե ​​հոսթն ի պատասխան փաթեթներ չի ուղարկում, դա կարող է նշանակել, որ կա՛մ արձանագրությունը հասանելի է, կա՛մ firewall-ը արգելափակում է ICMP տրաֆիկը: Այս իրավիճակը շատ նման է UDP սկանավորմանը, որտեղ նույնպես անհնար է միանշանակ որոշել, արդյոք նավահանգիստը բաց է, թե զտված է firewall-ով: Արձանագրությունների սկանավորումն ակտիվացնելու համար -sO անջատիչը պետք է միացված լինի: Նկ. 16-ը ցույց է տալիս այս մեթոդի կիրառման օրինակ:

Բրինձ. 16. Հասանելի արձանագրությունների սկանավորում

Արդյունքում Nmap-ը թողարկում է բաց և զտված արձանագրություններ, քանի որ այն կարող է ճշգրիտ որոշել այս կարգավիճակը: Այլ սկանավորված արձանագրությունները նշվում են որպես բաց|զտված:

Գաղտնի սկանավորում ftp վերադարձի մեթոդով

Nmap ցանցային սկաները աջակցում է ftp ցատկում սկանավորման մեթոդին, որի էությունը ftp սերվերի ֆայլերը երրորդ կողմին ուղարկելու կարողությունն է: Քանի որ այս հատկությունը շատ հաճախ օգտագործվում է այլ նպատակներով (սկանավորում, կոտրում), շատ ftp սերվերներ այլևս չեն աջակցում կամ արգելափակում են այն: Ftp վերադարձի մեթոդը թույլ է տալիս սկանավորել հեռավոր համակարգչի պորտերը ftp սերվերի անունից: Սկանավորող համակարգիչը հարցում է ուղարկում ftp սերվերին՝ ֆայլը փոխանցելու համար փորձարկվող համակարգչի հետ որոշակի պորտի վրա TCP կապ հաստատելու համար: Ftp սերվերից ստացված սխալների վերլուծությունը Nmap-ին թույլ է տալիս որոշել՝ պորտը բաց է, թե փակ: Այս դեպքում սկանավորումը թաքնված է, քանի որ հետազոտվող համակարգչի համար կապի նախաձեռնողը ftp սերվերն է, այլ ոչ թե սկանավորող համակարգիչը։ Այս մեթոդը հիմնականում հարմար է, քանի որ, որպես կանոն, firewall-ը անցնում է հայտնի ftp սերվերի երթևեկությունը, քանի որ վերջինս սովորաբար ավելի շատ մուտքի իրավունք ունի ինչպես արտաքին, այնպես էլ ներքին ցանցային ռեսուրսներին: Այսպիսով, հնարավոր է դառնում շրջանցել նավահանգիստների ֆիլտրերը և firewalls-ը, որոնք թույլ չեն տալիս երթևեկություն այլ մեթոդներով սկանավորելիս: Այս մեթոդով համակարգիչը սկանավորելու համար անհրաժեշտ է գտնել համապատասխան ftp սերվեր, որն աջակցում է նկարագրված գործառույթին և մուտքի / գաղտնաբառ՝ այս ftp սերվեր մուտք գործելու համար: Այս մեթոդով սկանավորելիս Nmap-ը սկսելու համար դուք պետք է նշեք բանալին , որտեղ օգտանունը և գաղտնաբառը ftp սերվեր մուտք գործելու մուտքն ու գաղտնաբառը են, իսկ սերվերը սերվերի անունը կամ IP հասցեն է: Լռելյայնորեն, եթե :port անջատիչը չի օգտագործվում, ապա Nmap-ը կփորձի միանալ ftp սերվերին ստանդարտ պորտի 21-ի վրա: Նկ. 17-ը ցույց է տալիս այս մեթոդի կիրառման օրինակ:

Բրինձ. 17. Սկանավորում ftp bounce մեթոդով

Ինչպես երևում է նկարից, այս մեթոդով սկանավորումը տվել է դրական արդյունքներ։ Այնուամենայնիվ, այս մեթոդով սկանավորումը միշտ չէ, որ հնարավոր է, քանի որ շատ հաճախ ftp սերվերը չի կարող կապ հաստատել հեռավոր համակարգչի հետ՝ օգտագործելով արտոնյալ նավահանգիստները (1024-ից ցածր): Նման սխալների դեպքում Nmap-ը տպում է գիծը ձեր ftp bounce սերվերը թույլ չի տալիս արտոնյալ նավահանգիստներկամ recv խնդիր ftp bounce սերվերից. Ինչպես idlescans-ի դեպքում, ներկայությունը թաքցնելու համար խորհուրդ է տրվում նշել -P0 անջատիչը, որպեսզի Nmap-ը չփորձի սկանավորվող համակարգչին ուղարկել ICMP echo հարցումներ: Հարկ է նշել, որ Nmap-ը հաճախ կախված է որոշակի հյուրընկալողներին ftp ցատկում օգտագործելիս: Որպեսզի դեռ ստանաք անհրաժեշտ տեղեկատվությունը, պետք է գործարկեք Nmap-ը -v -v տարբերակներով, որոնց միջոցով ցանցային սկաները կցուցադրի ստացված տեղեկատվությունը առցանց:

Սկանավորված նավահանգիստների կարգավորումներ

Nmap սկաները շատ է առաջադեմ պարամետրերը. Աղյուսակում. 3-ում քննարկվում են սկանավորման նավահանգիստների հետ կապված կարգավորումները:

Աղյուսակ 3. Սկան պորտի կարգավորումները

Լռելյայնորեն, Nmap-ը սկանավորում է բոլոր նավահանգիստները, ներառյալ արտոնյալ նավահանգիստները (0-ից մինչև 1024) և Nmap-ծառայությունների մեջ սահմանված նավահանգիստները: Այս ֆայլը մշտապես թարմացվում է մշակողների կողմից և ներառում է սովորական հավելվածների և ծառայությունների կողմից օգտագործվող նավահանգիստները: Ֆայլը պարունակում է ծառայության անվանումը, դրա նկարագրությունը և օգտագործվող արձանագրությունը: Քանի որ Nmap-ը թույլ է տալիս սկանավորել ոչ միայն TCP, այլև UDP պորտերը, -p անջատիչը օգտագործելիս կարող եք հստակ նշել արձանագրությունը և դրա պորտը: UDP պորտ 25-ի և TCP պորտի 80-ի սկանավորումն այսպիսի տեսք կունենա՝ Nmap -p U:25,T:80:

Գործող ծառայությունների տարբերակների որոշում

Ինչպես նշվեց հոդվածի սկզբում, հավանականության բարձր աստիճանով Nmap-ը թույլ է տալիս որոշել օպերացիոն համակարգի տարբերակը, որն աշխատում է հեռավոր համակարգչի վրա: Միևնույն ժամանակ, Nmap-ը կարող է նաև նույնականացնել հեռավոր համակարգչի վրա աշխատող ծառայությունների տարբերակները, պայմանով, որ որոշակի ծառայության պորտերը բաց են: ՕՀ-ի և ծառայությունների տարբերակի որոշումը կօգնի ավելի հստակ պատկերացում կազմել այն մասին, թե որքանով է խոցելի հետաքննության ենթակա համակարգիչը և ծառայությունների որ անցքերը կարող են բաց մնալ հակերության համար: Գործող ծառայության կամ օպերացիոն համակարգի տարբերակի մասին տեղեկատվություն ստանալու համար Nmap-ն օգտագործում է իր տվյալների բազան, որը ներառում է հատուկ պիտակներ՝ հատուկ ծրագրաշարի տվյալ տարբերակի համար: Տեղեկատվությունը հավաքվում է բաց նավահանգիստների վերլուծության ցանկացած մեթոդով ցանկացած սկանավորումից հետո: Ծրագրաշարի տարբերակների որոշումը միշտ չէ, որ դրական արդյունք է տալիս, բայց շատ դեպքերում այս կերպ ստացված տեղեկատվությունը օգնում է պատկերացում կազմել հեռավոր համակարգչի վրա օգտագործվող համակարգի մասին: Այն դեպքում, երբ Nmap-ը տեղեկատվություն է ստանում հյուրընկալողի մասին, բայց չի կարող այն համապատասխանեցնել իր տվյալների բազայի կոնկրետ նկարագրությանը, ծրագիրը տպում է արդյունքը էկրանին: Ցանկության դեպքում, եթե ՕՀ-ի կամ ծառայության տարբերակը հայտնի է, բայց Nmap-ը չի կարողացել որոշել այն, կարող եք պատճենել ելքը և ուղարկել այն մշակողին. հաջորդ տարբերակըծրագիրը, այս նկարագրիչը կներառվի: Աղյուսակում. Նկար 4-ը ցույց է տալիս հեռավոր հոսթի վրա աշխատող ծառայությունների տարբերակները որոշելու բանալիները:

Աղյուսակ 4. Սկանավորել կարգավորումները՝ ծառայության տարբերակները որոշելու համար

Աղյուսակում տրված -allports ստեղնը: 4-ը սովորաբար չի օգտագործվում, քանի որ եթե այս տարբերակը ակտիվացվի, Nmap-ը նաև փաթեթներ կուղարկի TCP 9100 պորտում: Դա պայմանավորված է նրանով, որ շատ տպիչներ ունեն հետևյալ թերությունը. 9100 նավահանգստում փաթեթներ ստանալիս նրանք ավտոմատ կերպով տպում են ստացված տեղեկատվությունը և վնասված թղթի սարեր չստանալու համար TCP 9100 նավահանգիստը բաց է թողնում տարբերակը սկանավորելուց հետո:

Հեռավոր համակարգչի վրա ՕՀ-ի տարբերակի որոշում

Իհարկե, ամենահետաքրքիր տարբերակներից մեկը հեռավոր համակարգչի օպերացիոն համակարգը որոշելն է: Այս դեպքում օգտագործվում է փոփոխված մեթոդ՝ գործարկվող ծառայությունների տարբերակները որոշելու համար։ Nmap-ը տարբեր փորձարկումներ է կատարում՝ փորձարկվող համակարգչին ուղարկելով փաթեթներ՝ օգտագործելով տարբեր արձանագրություններ՝ տարբեր պայմաններով: Համեմատելով ստացված արդյունքները Nmap-os-մատնահետքեր ֆայլում նշված հղման արժեքների հետ՝ ծրագիրը համակարգչի համար տալիս է ամփոփ արդյունք: Կախված ստացված տեղեկատվության քանակից և որակից, Nmap-ը կարող է որոշել ՕՀ-ի արտադրողին, դրա մոտավոր տարբերակը և սարքավորումների տեսակը, քանի որ սկանավորման վերջնական արդյունքը միշտ չէ, որ համակարգիչ է. այն կարող է լինել նաև երթուղիչ, կառավարվող անջատիչ և այլն: Սկանավորման այս մեթոդն ակտիվացնելու համար դուք պետք է նշեք -O անջատիչը, ինչպես նաև -A անջատիչը, որն ակտիվացնում է օպերացիոն համակարգի տարբերակի և գործող ծառայությունների տարբերակների հայտնաբերումը: Նկ. 18-ը ՕՀ-ի սահմանման օրինակ է:

Բրինձ. 18. Օպերացիոն համակարգի որոշում

Ժամանակի հետաձգման կարգավորումներ

Գործողության բարձր արագությունը որոշվում է ժամանակով սպատասխանների և փաթեթների ուղարկման mi պարամետրեր: Լռելյայնորեն, Nmap-ն օգտագործում է ժամանակի ամենաարդյունավետ կարգավորումները՝ սկանավորման իրատեսական արդյունքներ ստանալու համար: Այնուամենայնիվ, անվտանգության մասնագետներին, ովքեր օգտագործում են այս սկաները, կարող են հատուկ ժամանակի կարգավորումներ պահանջվել սկանավորման որոշակի մեթոդների համար: ս x հաստատուններ. Այս առումով Nmap-ի մշակողները նախատեսել են որոշ հաստատունների ձեռքով տեղադրում, ինչպես նաև սկանավորման «ժամանակացույց» սահմանելու հնարավորություն։ Որոշ անջատիչներ օգտագործում են ժամանակի կարգավորում, որը կանխադրված է միլիվայրկյաններով, բայց հնարավոր է գրել ժամանակը որպես s, m և h. այս բառացի արգումենտները ավելացվում են թվային արժեքի վերջում՝ զգալիորեն կրճատելով և պարզեցնելով այն: Օրինակ՝ 600000, 600-ները, 10մ-ը նույն ժամանակն են: Նշելով հնարավոր ժամանակավոր բանալիները ս x պարամետրերը և կատարումը տրված են աղյուսակում: 5.

Աղյուսակ 5. Ժամանակի և կատարողականի կարգավորումներ

Սկանավորման ժամանակացույց

Ինչպես նշվեց վերևում, Nmap-ը թույլ է տալիս պլանավորել սկանավորումներ՝ փորձելով թաքցնել ձեր ներկայությունը firewalls-ից և անվտանգության համակարգերից: Գոյություն ունի սկանավորման վեց ժամանակացույց՝ պարանոիդ, նենգ, քաղաքավարի, նորմալ, ագրեսիվ և խելագար, ընդ որում նորմալը լռելյայն է: Ժամանակավոր սԷլեկտրոնային ուշացումները և հարակից այլ գործոններ տրված են Աղյուսակում: 6.

Աղյուսակ 6. Տարբեր սկանավորման գրաֆիկների բնութագրերը

Լրացուցիչ հրամանի տող ընտրանքներ

Հրամանի տողի գրեթե բոլոր ամենակարևոր տարբերակները նկարագրված են վերևում: Ստորև բերված են ամենատարածված օգտագործվող տարբերակներից մի քանիսը.

  • - ուրիշի IP հասցեի օգտագործումը համակարգչին ուղարկված փաթեթներում: Այս դեպքում սերվերը կվերադարձնի պատասխան նշված հասցե;
  • - օգտագործել միայն հատուկ ցանցային ինտերֆեյս, օրինակ Nmap -e eth0;
  • -v; -դ- ցուցադրել առցանց սկանավորման ընթացիկ վիճակը: -d հրահանգը միացնում է վրիպազերծման ռեժիմը, որտեղ բոլորը հնարավոր տեղեկատվությունաշխատանքի ներկա վիճակի, ինչպես նաև սխալների և դրանց կոդերի մասին.
  • (այլընտրանք --աղբյուր-պորտ ) - թույլ է տալիս ընտրել աղբյուրի պորտը, որտեղից փաթեթները կուղարկվեն սկանավորման ընթացքում;
  • - տվյալների երկարությունը - թույլ է տալիս փաթեթի չափը սահմանել բայթերով: Նախնական արժեքները 40 և 28 են՝ համապատասխանաբար TCP և ICMP հարցումների համար.
  • -տտլ - թույլ է տալիս սահմանել IP փաթեթի ժամանակը «time-to-live» դաշտում;
  • - խաբեություն-mac - թույլ է տալիս սահմանել այլ MAC հասցե (ֆիզիկական) շրջանակների համար: Դիմումի օրինակ. Dlink, 0, 01:02:03:04:05:06;
  • -բադսում- ուղարկում է TCP և ICMP փաթեթներ սխալ ձևավորված ստուգաչափով: Firewall-երը կամ անվտանգության համակարգերը սովորաբար արձագանքում են նման փաթեթին.
  • -6 - IPv6 ցանցերի համար սկանավորման օգտագործում: Այս դեպքում դուք պետք է նշեք IPv6 հասցե կամ հոսթի անունը.
  • - մատյան-սխալներ- բոլոր սխալները գրված են գրանցամատյանում.
  • -վրա; -oM; -os; -oA; -oG - գրանցել սկանավորումը: Գրառումների տեսակները տարբերվում են տեղեկատվության պահպանման եղանակից: -oN տարբերակը գրում է այն բանից հետո, երբ տեղեկատվությունը հայտնվում է էկրանին, իսկ -oA տարբերակը միանգամից գրում է բոլոր հնարավոր ձևաչափերը ֆայլի անունով և տարբեր ընդլայնումներով (*.xml, *.gNmap, *.Nmap):

Եզրակացություն

Իհարկե, սկաների ոչ բոլոր տարբերակները բավականաչափ դիտարկված են: Օգտատերերի մեծ մասը սահմանափակ է ստանդարտ մեթոդներսկանավորում. Nmap սկաները ոչ միայն սովորական ցանցի օգտատերերի համար է, այլ նաև համակարգի ադմինիստրատորներև անվտանգության համակարգերի մշակողները և բազմաթիվ գործիքները նրանց օգտակար կլինեն իրենց աշխատանքում: Nmap-ը մշտապես թարմացվում և բարելավվում է: Քանի որ, ինչպես շատ այլ ծրագրեր Linux համակարգերի համար, այն անվճար է, յուրաքանչյուրը կարող է նպաստել այն գրելուն:

Եզրափակելով՝ կցանկանայի նշել, որ ցանցային սկաներները և նմանատիպ այլ ծրագրերը ստեղծվում են հիմնականում հաքերային հարձակումները կամ ակտիվ հարձակումները կանխելու համար: Ձեր համակարգիչը սկանավորելուց հետո միանգամայն հնարավոր է հայտնաբերել ոչ միայն բազմաթիվ բաց նավահանգիստներ, այլև նույնիսկ հակավիրուսային չհայտնաբերված տրոյան: Հետևաբար, նման ծրագրաշարի հետ աշխատելու ունակությունը միշտ կօգնի հակերության դեմ պայքարի դժվարին գործում: Համարվող ցանցային սկաները օգտվողին տրամադրում է հնարավորինս լայն շրջանակ տարբեր տեսակներսկանավորում և լրացուցիչ հնարավորություններմոնիտորինգի համար: Ընտրելով և համատեղելով սկանավորման տարբեր մեթոդներ՝ դուք կարող եք տեղեկատվություն ստանալ ցանկացած օպերացիոն համակարգով համակարգչի կամ ցանցային սարքի մասին:

Ստորև դուք կգտնեք 20 հիմնական Nmap հրամանի օգտագործման օրինակներ.

Դուք կսովորեք, թե ինչպես օգտագործել Nmap-ը հրամանի տող Linux-ումցանցում ակտիվ հոսթեր որոնելու և բաց նավահանգիստները սկանավորելու համար:

Դուք կտեսնեք, թե ինչպես օպերացիոն համակարգի հեռակա հայտնաբերումօգտագործելով TCP/IP stack մատնահետքերը և ինչպես ստուգեք ծրագրաշարի տարբերակըաշխատում է հեռավոր սերվերի վրա:

Ես նաև ձեզ ցույց կտամ, թե ինչպես օգտագործել Nmap-ը իրականացնելու համար գաղտնի սկանավորում, Ինչպես սահմանել firewallԵվ ինչպես փոխել MAC հասցեն.

1. Սկանավորեք միայնակ հոսթ կամ IP հասցեն

Սկանավորել Առանձին IP հասցե:

$ nքարտեզ 192.168.1.1

Սկանավորեք սերվերը Հյուրընկալողի անունը:

$ nmap server.site

Աճ Մանրամասների մակարդակըսկան արդյունքները.

$ nmap -v սերվեր..կայք

2. Բազմաթիվ IP հասցեների սկանավորում

Սկանավորել Բազմաթիվ IP հասցեներ:

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3 $ namp 192.168.1.1,2,3

Սկանավորել Ենթացանց:

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

Սկանավորել IP հասցեների շրջանակը (192.168.1.0 — 192.168.1.200):

$ nքարտեզ 192.168.1.0-200

3. Փնտրեք ակտիվ համակարգիչներ ցանցում

Օգտակար խորհուրդ.Սկանավորեք ցանցը միայն մեկով ping հրամաններ! Հաշվեք բոլոր ակտիվ համակարգիչները:

Որոնման մեջ սկանավորեք ցանցը Ակտիվ հյուրընկալողներ:

$ nmap -sn 192.168.1.0/24

4. Հոսթների ցանկի սկանավորում ֆայլից

Սկանավորեք հյուրընկալողների/ցանցերի ցանկը Ֆայլ:

$ nmap -iL input.txt

Ֆայլի ձևաչափ.

# Գրառումները կարող են լինել ցանկացած ձևաչափով, որով աշխատում է # Nmap հրամանի տողից (IP հասցեներ, հոսթների անուններ, CIDR, IPv6 կամ օկտետ # տիրույթներ): Գրառումները պետք է բաժանված լինեն մեկ կամ մի քանի բացատներով, # ներդիրներով կամ նոր տողերով: $ cat input.txt server.site 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. Սկանավորումից բացառել IP/Hosts/Networks

Բացառել նպատակները Nmap սկանավորումից.

$ nmap 192.168.1.0/24 --բացառել 192.168.1.1 $ nmap 192.168.1.0/24 --բացառել 192.168.1.1 192.168.1.5 $ nmap 192.168.121, 192.168.168, 192.168.12, 192.168.1.0

Բացառել ցանկըֆայլից վերցված հոսթեր՝

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Բացառված հոսթերով ֆայլի ձևաչափը նույնն է, ինչ վերևում:

6. Սկանավորեք հատուկ նավահանգիստները

Սկանավորել Մեկ նավահանգիստ:

$ nmap -p 80 192.168.1.1

Սկանավորել Բազմաթիվ նավահանգիստներ:

$ nmap -p 80,443 192.168.1.1

Սկանավորել Port Range:

$ nmap -p 80-1000 192.168.1.1

Սկանավորել Բոլոր նավահանգիստները:

$ nmap -p «*» 192.168.1.1

Սկանավորեք ամենաշատից մի քանիսը Ընդհանուր նավահանգիստներ:

$ nmap --top-ports 5 192.168.1.1 $ nmap --top-ports 10 192.168.1.1

7. Աջակցվող IP արձանագրությունների սահմանում

Որոշեք, թե որն է IP արձանագրություններ(TCP, UDP, ICMP և այլն) աջակցում է սկանավորված հոսթին.

$ nmap -sO 192.168.1.1

8. Սկանավորեք TCP/UDP պորտերը

Սկանավորել բոլոր TCP նավահանգիստները:

$ nmap -sT 192.168.1.1

Սկանավորել որոշակի TCP նավահանգիստներ:

$ nmap -p T:80 192.168.1.1

Սկանավորել բոլոր UDP նավահանգիստները:

$ nmap -sU 192.168.1.1

Սկանավորել հատուկ UDP նավահանգիստներ:

$ nmap -p U:53 192.168.1.1

Տարբեր նավահանգիստների սկանավորումների համադրում.

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Արագ սկանավորում

Ակտիվացնել Արագ ռեժիմսկանավորում:

$ nmap -F 192.168.1.1

* Սկանավորում է ավելի քիչ նավահանգիստներ, քան սովորական սկանավորումը:

10. Ցույց տալ նավահանգստի կարգավիճակի պատճառը

Ցուցադրում պատճառ, որով Nmap-ը համարում է, որ նավահանգիստը գտնվում է որոշակի վիճակում.

$ nmap --պատճառ 192.168.1.1

11. Ցույց տալ միայն բաց նավահանգիստները

Ցուցադրում Միայն բաց նավահանգիստները(կամ հնարավոր է բաց):

$ nmap - բաց 192.168.1.1

12. ՕՀ սահմանում

Nmap-ի ամենահայտնի առանձնահատկություններից մեկը OS-ի հեռավոր հայտնաբերումն է՝ հիմնված TCP/IP փաթեթի վերլուծության վրա:

Nmap-ն ուղարկում է մի շարք TCP և UDP փաթեթներ հեռավոր հոսթին և ուսումնասիրում պատասխանները:

Բազմաթիվ թեստեր կատարելուց հետո Nmap-ը արդյունքները համեմատում է իր տվյալների բազայի հետ և, եթե համընկնում է, ցուցադրում է ՕՀ-ի մասին տեղեկատվություն։

Միացնել ՕՀ սահմանում:

$ nmap -O 192.168.1.1

13. Ծառայությունների տարբերակի որոշում

Միացնել Ծառայությունների տարբերակի որոշում:

$ nmap -sV 192.168.1.1

* Որոշում է հեռավոր սերվերի վրա աշխատող ծրագրերի տարբերակները:

14. Firewall-ի հայտնաբերում

Պարզեք, արդյոք ձեր համակարգիչը պաշտպանված է որևէ մեկի կողմից Փաթեթի զտիչներկամ firewall:

$ nmap -sA 192.168.1.1

15. MAC հասցեի կեղծում

Փոփոխություն MAC հասցեներ:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Փոխել MAC հասցեն Պատահական MAC:

$ nmap --spoof-mac 0 192.168.1.1

16. Firewall-ի սկանավորում խոցելիության համար

Այս երեք սկանավորման տեսակներն օգտագործում են TCP RFC-ի նուրբ բացը բաց և փակ պորտերը բաժանելու համար:

Երբ RFC-ին համապատասխանող համակարգը սկանավորվում է, ցանկացած փաթեթ, որը չի պարունակում սահմանել քիչ SYN-ը, RST-ը կամ ACK-ը կհանգեցնեն նրան, որ RST-ը կուղարկվի ի պատասխան, եթե նավահանգիստը փակ է, կամ կհանգեցնի ոչ մի պատասխանի, եթե նավահանգիստը բաց է:

Որովհետեւ Այս բիթերից ոչ մեկը սահմանված չէ, ապա մնացած երեքի ցանկացած համակցություն (FIN, PSH և URG) վավեր կլինի:

TCP Nullսկանավորում:

$ nmap -sN 192.168.1.1

* Ոչ մի բիթ (Դրոշակներ TCP գլխի 0-ում) սահմանված չեն:

TCP Finսկանավորում:

$ nmap -sF 192.168.1.1

* Սահմանված է միայն TCP FIN բիթը:

TCP Սուրբ Ծնունդսկանավորում:

$ nmap -sX 192.168.1.1

* FIN, PSH և URG դրոշները դրված են (փաթեթը վառվում է տոնածառի պես):

17. Թաքնված սկան

Օգտակար խորհուրդ.Մնացեք անանուն նավահանգստի սկանավորման ժամանակ: Օգտագործեք Nmap + Tor + ProxyChains: Անվտանգ և հեշտ ներթափանցման փորձարկում:

TCP SYNսկանավորում:

$ nmap -sS 192.168.0.1

* Հայտնի է որպես կիսաբաց կապի սկանավորում, քանի որ այն չի բացում ամբողջական TCP կապերը:

18. Անջատել հյուրընկալողի հայտնաբերումը (ոչ Ping)

Սկանավորումից առաջ մի՛ պինգ կատարեք հոսթորդներին.

$ nmap -Pn 192.168.1.1

19. Անջատել DNS-ի օգտագործումը

Օգտակար խորհուրդ.Պետք է խստացնե՞լ անվտանգությունը Linux-ում: Գաղտնագրեք DNS երթևեկությունը՝ խարդախությունից պաշտպանվելու համար:

Երբեք մի կատարեք հակադարձ DNS լուծում յուրաքանչյուր հայտնաբերված ակտիվ IP հասցեի համար: