Намерете отворени портове в командата FreeBSD Sockstat

Когато работим със среда на FreeBSD, е важно да знаем подробно как можем да получим основна или разширена информация за определени параметри на системата и нейните компоненти.

Една от тези задачи включва да знаем кои портове в момента имаме отворени в системата, защото наличието на отворен порт, което не би трябвало да означава, предполага уязвимост в сигурността, тъй като е готова да претърпи атака оттам.

Днес Solvetic ще анализира специална команда, наречена sockstat което е жизненоважно за контрол, наблюдение и управление на портове във FreeBSD.

Какво е SockstatSockstat е помощна програма за командния ред, която се използва за показване на мрежата и отваряне на гнезда във FreeBSD среди. Основно командата sockstat е инсталирана по подразбиране във FreeBSD и обикновено се използва за показване на името на процесите, отворили определен мрежов порт във FreeBSD.

Командата sockstat може също да изброява отворени сокети въз основа на версията на протокола (и двете версии на IP), състоянието на връзката и на кои портове демон или програма се свързва и слуша, което ни позволява да имаме много по -прецизен контрол върху всичко.

С sockstat ще бъде възможно да се показват и междупроцесови комуникационни гнезда, известни като Unix или IPC домейн гнезда. Командата Sockstat, комбинирана с grep филтър или помощната програма awk през тръбопровода, се оказва мощен инструмент за управление на локални мрежи.

Ще бъде възможно да се намалят резултатите от отворена връзка въз основа на потребителя, който притежава сокета, файловия дескриптор на мрежов сокет или PID на процеса, отворил сокета, което позволява много по -директен контрол.

1. Избройте всички отворени портове във FreeBSD


Ето някои от по -практичните опции за използване на sockstat на FreeBSD.
Просто като бягате sockstat без никакви опции или параметри, командата sockstat ще покаже всички отворени гнезда на система FreeBSD.

Стъпка 2
Там можем да видим подробно елементи като:

ПОТРЕБИТЕЛСобственикът (потребителски акаунт) на сокета.

КОМАНДАКомандата, която отваря гнездото.

PIDID на процеса на командата, която притежава сокета.

FDНомер на дескриптора на файла на гнездото.

ПРОТОТранспортният протокол (обикновено TCP / UDP), свързан с отворения сокет или типа на сокета в случай на Unix домейн сокети (дейтаграма, поток или seqpac) за UNIX сокети.

МЕСТЕН ​​АДРЕСПредставлява локалния IP адрес за IP-базирани гнезда. За Unix сокетите той представлява името на файла на крайната точка, свързана към сокета. Обозначението "??" означава, че крайната точка на гнездото не може да бъде разпозната или установена.

ЧУЖДЕН АДРЕСОтдалечения IP адрес, към който е свързан конекторът.

2. Избройте или отворете портове във FreeBSD


Когато се изпълнява с параметъра , командата sockstat ще покаже всички отворени гнезда за слушане в мрежата и всички отворени домейни на Unix домейни или именовани тръби, участващи в някакъв вид локална обработка на данни в системата.
 sockstat -l

3. Избройте IPv4 отворени портове във FreeBSD


Ако искаме да покажем всички отворени гнезда само за протокола IPv4, трябва да изпълним следното с параметъра -4:
 sockstat -4

4. Избройте IPv6 отворени портове във FreeBSD


Напротив, ако искаме да покажем всички отворени гнезда само за протокола IPv6, трябва да изпълним следното с параметъра -6:
 sockstat -6

5. Избройте отворените TCP или UDP портове във FreeBSD


С sockstat ще бъде възможно да се разгърнат мрежови сокети само въз основа на определен мрежов протокол, като TCP или UDP, и за това ще използваме флага последвано от името на аргумента на протокола.

Имената на протоколите могат да бъдат намерени чрез проверка на съдържанието на файла / etc / protocols. Понастоящем протоколът ICMP не се поддържа от инструмента sockstat.

Етап 1
Ако искаме да видим TCP портовете, ще изпълним следното:

 sockstat -P tcp 

Стъпка 2
За да изброим UDP портовете ще изпълним:

 sockstat -P udp

Стъпка 3
Ако искаме да изброим и двете, ще изпълним следното:

 sockstat -P tcp, udp

6. Списък на TCP и UDP специфични портове във FreeBSD


Ако искаме да покажем всички отворени TCP или UDP IP гнезда, въз основа на номера на локалния или отдалечения порт, можем да използваме следните флагове за команда и синтаксис:
 sockstat -P tcp -p 443 [Показване на TCP HTTPS портове] sockstat -P udp -p 53 [Показване на UDP DNS портове] sockstat -P tcp -p 443,53,80,21 [Показване на TCP и UDP портове]

7. Списък на отворени и свързани портове във FreeBSD

За да разгърнете всички отворени и свързани сокети, използвайте флага -c. Ще бъде възможно да се изброят всички сокети, свързани чрез HTTPS или всички свързани TCP сокети.

 sockstat -P tcp -p 443 -c sockstat -P tcp -c

8. Списък на мрежови портове за слушане във FreeBSD

За да покажем всички отворени TCP сокети в състояние на слушане, трябва да използваме параметрите Y Като протокол без връзка, UDP не съхранява информация за състоянието на връзката.
Отворените сокети на UDP не могат да бъдат разгърнати чрез тяхното състояние, тъй като udp протоколът използва дейтаграми за изпращане и получаване на данни и няма интеграционен механизъм за определяне на състоянието на връзката.

 sockstat -46 -l -s

9. Избройте UNIX портове във FreeBSD


Всички гнезда за домейн на Unix, както и други форми на локална междупроцесна комуникация, като именовани тръби, могат да бъдат разгърнати чрез командата sockstat, използвайки параметъра -или:
 sockstat -u

10. Избройте портовете по приложение във FreeBSD

Резултатите от командата Sockstat могат да бъдат филтрирани чрез помощната програма grep, за да се покаже списък с портове, отворени от конкретно приложение или команда.
Синтаксисът за използване е следният:

 sockstat -46 | grep (приложение)

С тези команди ще имаме възможност да научим повече за отворените портове във FreeBSD и по този начин да контролираме този аспект много по -добре.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave