Назад | Перейти на главную страницу

Как узнать количество открытых портов в Linux?

Как узнать количество открытых портов в Linux? Я хочу узнать, не заканчиваются ли у меня порты. Кроме того, как мне увидеть предел моей ОС?

В современном Linux используйте утилиту ss (статистика сокетов).

$ ss -s
Total: 10160 (kernel 10262)
TCP:   10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147

Transport Total     IP        IPv6
*         10262     -         -        
RAW       0         0         0        
UDP       5         5         0        
TCP       9941      9941      0        
INET      9946      9946      0        
FRAG      0         0         0        
netstat -an | grep ESTABLISHED | wc -l

даст вам количество открытых портов, в моем случае 32.

cat /proc/sys/net/ipv4/ip_local_port_range

Вернет что-то вроде:

32768 61000

что означает 61000 - 32768 - $ OPENPORTS = AvailablePorts

На моем ящике это:

61000-32768-32 = 28200 доступных номеров портов.

Как уже упоминалось, netstat - это инструмент, который можно использовать для определения того, какие порты используются в настоящее время. Что касается ограничений, количество доступных портов представляет собой 16-битное целое число без знака, что дает вам диапазон 0-65535. Порты, доступные для привязки приложений, являются зарезервированными привилегированными / корневыми портами (0-1024) плюс все, что не охвачено вашим временным диапазоном портов.

Вы можете просмотреть свои эфемерные порты, запустив cat /proc/sys/net/ipv4/ip_local_port_range.

Чтобы изменить это постоянно, вам нужно будет добавить / изменить "net.ipv4.ip_local_port_range" в файле /etc/sysctl.conf или в интерактивном режиме с помощью sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"

Лично я предпочитаю nmap. Вы можете узнать состояние всех портов, введя nmap -P 1-65535 target. В большинстве дистрибутивов этот пакет должен быть доступен через диспетчер пакетов.

Пытаться

# lsof -n -i -P 

Для полноты картины :)

netstat позволит вам увидеть, какие порты открыты, выполните команду «netstat -», чтобы увидеть, что лучше всего соответствует вашим потребностям.

«nmap localhost» предоставит вам все открытые порты и запущенные на них службы.

netstat -tulnp

Аргументы программы netstat перечислены ниже:

*

  t - Show TCP
*

  u - Show UDP
*

  l - Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)
*

  n - Do not resolve network IP address names or port numbers
*

  p - Show the process name that is listening on the port

используйте следующую команду на терминале, чтобы проверить все порты

netstat -lntu

Чтобы увидеть определенный статус портов, используйте следующую команду

netstat -an | grep ':6060'

замените 6060 вашим конкретным номером порта.