Ir ļoti daudz metožu, kā atrast vajadzīgos protokolus un portus, un ar kuru palīdzību ir iespējams noklausīties. Protams, ka katrai metodei ir savas nepilnības vai trūkumu.
Porta skanēšanas metodes:
1)skanējot serveri izmantojot ICMP protokolu – šī metode darbojas līdzīgi komandai ping, hosts nosūta ICMP pieprasījuma ziņojumu serverim un gaida atbildi.
2)skanējot TCP portu ar funkciju connect() – ļauj hostam pievienoties jebkuram servera portam. Ja ports ir iekļauts funkcijas parametros, tad ports ir atvērts savienojumam. Funkcijas izpilde būs uzstādīta savienojumā ar serveri pēc norādīta porta. Pretējā gadījumā, ja savienojums nav uzsstādīts, ports ar norādīto numuru ir slēgts. Šī metode prasa diezgan ilgu laiku, pārbaudot un nosakot vai ports ir atvērts vai slēgts savienojuma. Ir cita metode, ar kuras palīdzību var noteikt praktiski visus servera portus vienlaicīgi (non-blocked socket)
3)skanējot TCP portu karogus SYN – (half-open scanning), hosts nosaūta uz servera portu SYN paketi, ar nolūku nodibināt savienojumu. Atbildē saņem TCO paketi ar RST karogu, par to ka ports slēgts un ka nav iespējams noklausīties. Te nonākam pie secinājuma, ka retais serveris ļauj piereģistrēties tāda veida skanēšanai. Problēma ir tajā, ka lietotājam jāatrodas attiecīgajā statusā, lai varētu skanēt ar šādu metodi (jābūt Root servera īpašniekam). …