Важен метод за идентифициране точно кои услуги се изпълняват във вашата мрежа е да извършите сканиране на портове. Извършването на сканиране на портове може да ви даде точен преглед на атакуваната повърхност на вашия компютър и мрежа. В някои случаи може да откриете, че имате работещи услуги, които може да не сте очаквали.
Протоколът за управление на предаването или TCP е стандарт, който позволява връзки между компютри през мрежа. TCP използва тристранно ръкостискане, за да отвори връзка, която след това ще остане отворена, докато не изтече или връзката не бъде затворена. Това не означава, че връзката винаги предава данни, това просто означава, че и двете страни запазват данните за връзката и могат незабавно да възобновят изпращането и получаването на данни.
Nmap е стандартният инструмент за извършване на сканиране на портове. Той е проектиран основно да работи на Linux, но има и версии на Windows. Наличен е и графичен интерфейс, но използването на командния ред все още е стандартно.
Как да използвате Nmap
За да проверите дали имате инсталиран Nmap на Linux машина, изпълнете командата „nmap“. Ако получите помощна страница, тогава тя е инсталирана и готова за стартиране, ако получите грешка, която казва, че командата е „не е намерена“, тогава трябва да инсталирате Nmap.
Помощната страница е много гъста и показва много опции, които могат да бъдат объркващи. Основите, от които се нуждаете, за да сканирате TCP портове, са сравнително прости. Основната структура, от която се нуждаете, е „nmap [тип сканиране] [опции] {целева спецификация}“.
За сканиране на TCP портове ще искате да използвате един от двата типа сканиране, TCP или SYN. TCP сканиране се опитва да направи пълна връзка с всеки порт, завършвайки тристранното ръкостискане. SYN сканирането леко злоупотребява с протокола и никога не изпраща третото съобщение от тристранното ръкостискане. SYN сканирането често е по-малко стресиращо за системните ресурси, тъй като устройствата не трябва да поддържат отворени много връзки наведнъж тъй като връзките никога не са напълно установени, те също работят по-бързо от TCP сканирането, но ще се нуждаят от root разрешения. TCP сканирането се посочва с флага “-sT”, докато SYN сканирането се определя с “-sS”.
Съвет: Тристранното ръкостискане е начинът, по който се инициализира TCP връзката, включва три съобщения, „SYN, SYN-ACK и ACK“ се изпраща от клиент на сървър, сървър на клиент, след това клиент на сървър съответно.
Как да зададете опции за сканиране
Разделът с опции е изцяло незадължителен, но има редица, които могат да бъдат като цяло полезни. Можете да активирате по-подробни резултати от сканиране, като увеличите многословността с „-v“, можете да увеличите подробността допълнително до трето ниво с „-vvv“. Можете да стартирате откриване на операционна система, откриване на версия, сканиране на скриптове и трасиране, като използвате флага „-A“, въпреки че това ще отнеме доста повече време за изпълнение.
Можете да сканирате IPv4 или IPv6 адреси наведнъж, IPv4 е по подразбиране, ако искате да сканирате IPv6 адреси, трябва да използвате флага „-6“. Понякога Nmap ще изпълни бързо сканиране с ping, за да определи кои горещи точки са извършени, ако това пропуска хостове, които искате да тествате, можете да го деактивирате с флага “-Pn”. Ако посочите голям диапазон, сканирането може да отнеме много време. Флагът "-T4" ще стартира сканирането по-бързо и е малко вероятно да пропусне нещо, може да затрупа бавни мрежи или устройства, тъй като изходният трафик ще се увеличи значително.
Как да посочите IP адрес и диапазони на портове
По подразбиране Nmap ще сканира първите 1000 най-често използвани порта, можете ръчно да зададете диапазон на портове, като използвате флага “-p” и след това укажете диапазон без интервали. Диапазоните на портовете могат да бъдат посочени чрез стойности, разделени със запетая, диапазони с тирета или комбинация от двете. Например флаговете “-p22”, “-p1-65535” и “-p21-25,80,139,8080” ще сканират порт 22, всички портове между 1 и 65535 и портове 21 до 25, 80, 239, и съответно 8080. Възможно е също така да посочите флага „–top-ports [число]“, вместо да сканирате най-често срещаните [брой] портове. Ако искате да посочите всички портове, можете да използвате съкратеното „-p-“.
Съвет: Номерата на портовете варират между 0 и 65535, въпреки че 0 технически не може да се използва.
Последното нещо, което трябва да посочите, са IP адресите на устройствата, които искате да тествате. За да направите това, просто избройте всички IP адреси, които искате да сканирате, те трябва да бъдат разделени с интервали и могат да бъдат изброени поотделно, чрез тирета или чрез CIDR нотация. Например „191.168.0.1“ ще сканира този единствен IP адрес, „192.168.0.1-5“ ще сканира петте IP адреса между 102.168.0.1 и 192.168.0.5, накрая „192.168.0.1/24“ ще сканира всички IP адреси между 192.168.0.1 и 192.168.0.255.
Цялостната команда трябва да изглежда нещо като следните примери: “nmap -sS -vvv -A -p- 127.0.0.1”, “nmap -sS -v -p80,443,8080 192.168.0.1/24”, “nmap -sS –горни портове 10000 -6 ::1”
![](/f/c90a5a8e806e756db5c0b176e1868498.png)