Как да проверя отворените/затворените портове на моя компютър?
Използвах netstat -a
в командния ред.
Има няколко параметъра на netstat
, които са полезни за това:
-l
или --listening
показва само сокетите, които в момента слушат за входяща връзка.-a
или --all
показва всички сокети, които се използват в момента.-t
или --tcp
показва tcp сокетите.-u
или --udp
показва сокетите udp.-n
или --numeric
показва хостовете и портовете като числа, вместо да ги разрешава в dns и да ги търси в /etc/services.Можете да използвате комбинация от тях, за да получите това, което искате. За да разберете кои номера на портове се използват в момента, използвайте един от тях:
netstat -atn # За tcp
netstat -aun # За udp
netstat -atun # За двата вида
На изхода всички споменати портове се използват или слушат за входяща връзка, или са свързани с партньор**, всички останали са затворени. TCP и UDP портовете са с ширина 16 бита (от 1 до 65535).
** Те могат също така да се свързват/отключват с партньор.
Можете да използвате тази команда:
netstat -tulnp | grep <port no>
Ако тя показва някакъв процес, той се използва. Ако няма изход, той е затворен (не се използва).
Статусът на порта "LISTENING" показва ли, че портът е отворен?
Да. Това означава, че някоя услуга слуша този порт на вашия компютър за входяща връзка, т.е. този порт е отворен за установяване на нови връзки.
Някой порт, който не е показан в изхода, означава, че е затворен?
Да. Не забравяйте, че netstat -a
ще покаже всички активни (слушащи) и пасивни (неслушащи) връзки, т.е. портовете, които действат едновременно като сървърни (някои услуги слушат тези портове за връзки от друга машина/процес) и установени (на тези портове се установяват връзки, независимо от факта, че хостът/услугата може да бъде сървър или клиент)
Всички TCP и UDP портове принадлежат към категория, наречена сокети, и те са много на брой. За да видите информация за сокетите, можете да проверите man ss
.