TCP сканиране
TCP е протокол с състояние, тъй като поддържа състоянието на връзките. TCP връзката включва трипосочно ръкостискане на сървърния сокет и клиентския сокет. Докато сървърният сокет слуша, клиентът изпраща SYN и след това сървърът отговаря обратно със SYN-ACK. След това клиентът изпраща ACK, за да завърши ръкостискането за връзката
За да сканира за TCP отворен порт, скенерът изпраща SYN пакет на сървъра. Ако SYN-ACK бъде изпратен обратно, тогава портът е отворен. И ако сървърът не завърши ръкостискането и отговори с RST, портът е затворен.
UDP сканиране
UDP, от друга страна, е протокол без гражданство и не поддържа състоянието на връзката. Това също не включва трипосочно ръкостискане.
За да сканира за UDP порт, UDP скенерът изпраща UDP пакет до порта. Ако този порт е затворен, се генерира ICMP пакет и се изпраща обратно към източника. Ако това не се случи, това означава, че портът е отворен.
Сканирането на UDP портове често е ненадеждно, тъй като ICMP пакетите се изпускат от защитни стени, генерирайки фалшиви положителни резултати за скенери на портове.
Порт скенери
Сега, след като разгледахме как работи сканирането на портове, можем да преминем към различни скенери за портове и тяхната функционалност.
Nmap
Nmap е най-универсалният и изчерпателен скенер за портове, наличен до момента. Той може да прави всичко - от сканиране на портове до отпечатване на операционни системи и сканиране на уязвимости. Nmap има както CLI, така и GUI интерфейси, GUI се нарича Zenmap. Той има много различни възможности за бързо и ефективно сканиране. Ето как да инсталирате Nmap в Linux.
sudo apt-get updatesudo apt-get upgrade -y
sudo apt-get install nmap -y
Сега ще използваме Nmap за сканиране на сървър (hackme.org) за отворени портове и да се изброят услугите, налични на тези портове, е наистина лесно. Просто напишете nmap и адреса на сървъра.
nmap hackme.орг
За да сканирате за UDP портове, включете опцията -sU със sudo, защото изисква привилегии на root.
sudo nmap -sU hackme.орг
В Nmap има много други опции като:
-p-: Сканирайте за всички 65535 порта-sT: Сканиране на TCP свързване
-O: Сканира за работеща операционна система
-v: Многословно сканиране
-О: Агресивно сканиране, сканира за всичко
-T [1-5]: За да зададете скорост на сканиране
-Pn: В случай, че сървърът блокира ping
Zenmap
Zenmap е GUI интерфейс на Nmap за клик-kiddies, така че няма да се налага да запомняте командите му. За да го инсталирате, напишете
sudo apt-get install -y zenmap
За да сканирате сървър, просто напишете адреса му и изберете от наличните опции за сканиране.
Netcat
Netcat е суров записващ порт на TCP и UDP, който може да се използва и като скенер за портове. Използва сканиране за свързване, поради което не е толкова бързо като Network Mapper. За да го инсталирате, напишете
[имейл защитен]: ~ $ sudo apt install netcat-traditional -yЗа да проверите за отворен порт, пишете
[имейл защитен]: ~ $ nc -z -v hackme.организация 80... изрязване ..
хакме.орг [217.78.1.155] 80 (http) отворен
За да сканирате за набор от портове, напишете
[имейл защитен]: ~ $ nc -z -nv 127.0.0.1 20-80(НЕИЗВЕСТНО) [127.0.0.1] 80 (http) отворен
(НЕИЗВЕСТНО) [127.0.0.1] 22 (ssh) отворен
Еднорог
Unicornscan е цялостен и бърз скенер за портове, създаден за изследователи на уязвимости. За разлика от Network Mapper, той използва свой собствен стек за разпределен TCP / IP на потребителя. Той има много функции, които Nmap няма, някои от тях са дадени,
- Асинхронно TCP сканиране без състояние с всички варианти на TCP флагове.
- Асинхронно извличане на TCP банер без състояние
- Асинхронно UDP сканиране, специфично за протокол (изпращане на достатъчно подпис, за да предизвика отговор).
- Активна и пасивна идентификация на отдалечена операционна система, приложения и компоненти чрез анализ на отговорите.
- Регистрация и филтриране на PCAP файлове
- Изход на релационна база данни
- Поддръжка на персонализиран модул
- Персонализирани изгледи на набори от данни
За да инсталирате Unicornscan, напишете
[имейл защитен]: ~ $ sudo apt-get install unicornscan -y
За да стартирате сканиране, напишете
[имейл защитен]: ~ $ sudo us 127.0.0.1TCP отворен ftp [21] от 127.0.0.1 ttl 128
TCP отворен smtp [25] от 127.0.0.1 ttl 128
TCP отворен http [80] от 127.0.0.1 ttl 128
... изрязване ..
Заключение
Скенерите за портове са полезни, независимо дали сте DevOp, Gamer или хакер. Няма реално сравнение между тези скенери, нито един от тях не е перфектен, всеки от тях има своите предимства и недостатъци. Напълно зависи от вашите изисквания и от начина, по който ги използвате.