Количество сетевых соединений linux

Содержание
  1. 14 примеров команды ss для мониторинга сетевых подключений
  2. 1. Перечисление всех соединений
  3. 2. Список слушающих и не слушающих портов
  4. 3. Список прослушивающих сокетов
  5. 4. Список всех TCP соединений
  6. 5. Список всех слушающих TCP соединения
  7. 6. Список всех UDP соединений
  8. 7. Список всех слушающих UDP соединений
  9. 8. Отображение у сокетов PID (идентификаторов процессов)
  10. 9. Показать сводную статистику
  11. 10. Показать сокеты IPv4 и IPv6
  12. 11. Фильтр соединений по номеру порта
  13. 12. Вывод номеров портов в числовом формате, а не имени в ss
  14. 13. Поиск открытых портов на Linux
  15. 14. Поиск программ, которые прослушивают порты на Linux
  16. Статьи о программе ss
  17. Анализ количества tcp-соединений в Debian Linux
  18. How To Use Linux SS Command
  19. Linux ss Command Examples
  20. List All Connections
  21. List Listening Sockets
  22. List TCP Connections
  23. List UDP Connections
  24. List Unix Sockets
  25. List Raw Sockets
  26. List Connections to a Specific IP Address
  27. Check Process IDs
  28. List Summary Statistics
  29. List IPv4 and IPv6 Socket Connections
  30. Filter Connections
  31. Check Man Pages or List All Commands
  32. netstat VS ss Command
  33. Одминский блог
  34. Подсчет одновременных сетевых сессий в Linux

14 примеров команды ss для мониторинга сетевых подключений

Команда ss — это инструмент, который используется для отображения информации о сетевых сокетах в системе Linux. Инструмент отображает более подробную информацию, чем команда netstat, которая используется для отображения активных соединений сокетов.

В этом руководстве мы подробно рассмотрим, как можно использовать команду ss для отображения различной информации о сетевых подключения (сокетах) в Linux.

1. Перечисление всех соединений

Базовая команда ss без каких-либо опций просто выводит список всех соединений независимо от состояния, в котором они находятся.

Если ни одна из опций не используется, ss отображает список открытых не слушающих сокетов (например, TCP/UNIX/UDP), которые установили соединение.

2. Список слушающих и не слушающих портов

Вы можете получить список как слушающих, так и не слушающих портов, используя опцию -a, как показано ниже.

3. Список прослушивающих сокетов

Чтобы отобразить только сокеты прослушивания, используйте флаг -l:

4. Список всех TCP соединений

Чтобы отобразить все соединения TCP, используйте параметр -t:

5. Список всех слушающих TCP соединения

Для просмотра всех слушающих TCP-сокетов используйте комбинацию -lt:

6. Список всех UDP соединений

Для просмотра всех сокетов с UDP соединениями используйте параметр -ua:

7. Список всех слушающих UDP соединений

Для просмотра списка подключений UDP используйте параметр -lu.

8. Отображение у сокетов PID (идентификаторов процессов)

Для отображения идентификаторов процессов, связанных с соединениями сокетов, используйте флаг -p:

9. Показать сводную статистику

Чтобы вывести сводную статистику, используйте опцию -s.

10. Показать сокеты IPv4 и IPv6

Если вам интересны соединения через сокет IPv4, используйте опцию -4.

Чтобы отобразить соединения IPv6, используйте параметр -6.

11. Фильтр соединений по номеру порта

Команда ss также позволяет фильтровать номер порта сокета или номер адреса. Например, для отображения всех соединений сокетов с портом назначения или исходным портом ssh выполните команду.

ss -at '( dport = :22 or sport = :22 )'

ss -at '( dport = :ssh or sport = :ssh )'

12. Вывод номеров портов в числовом формате, а не имени в ss

По умолчанию команда ss показывает имена портов, чтобы выводились порты в виде чисел, используйте опцию -n:

Читайте также:  Hp laserjet m104a драйвер linux

13. Поиск открытых портов на Linux

Следующая команда покажет все прослушиваемые порты для TCP и UDP соединений в виде цифровых значений:

14. Поиск программ, которые прослушивают порты на Linux

Если добавить ключ -p, то программа дополнительно покажет процессы, использующие сокет:

Статьи о программе ss

Источник

22 Сен 2017 10:09:57 | 0 comments

Анализ количества tcp-соединений в Debian Linux

Иногда нужно быстро проанализировать количество tcp-соединений как во всей системе, так и по конкретному порту.

Какими способами это можно сделать в Debian Linux ?

1. Анализ соединений на 80 порт с использованием tcpdump:

Вначале пишем в лог-файл 1000 пакетов:

tcpdump -i eth0 -v -n -w attack.log dst port 80 -c 1000

Далее анализируем данные с сортировкой

tcpdump -nr attack.log | awk '' |grep -oE '4\.3\.5\.8' |sort |uniq -c |sort -rn

или сокращенный вариант вывода

tcpdump -nr attack.log | awk '' |grep -oE '2\.1\.1\.8' |sort |uniq -c |sort -rn | head -20

2. Анализ количества tcp-соединений через /proc/net/ip_conntrack

awk '' /proc/net/ip_conntrack | sort | uniq -c | sort -rn | head -25 | column -t

Смотрим количество соединений и с каких IP их больше всего.

3. Анализ количества tcp-соединений через netstat

Общий анализ количества tcp-соединений через netstat:

netstat -npt | awk '' | grep -Eo '(3\.)1' | cut -d: -f1 | sort | uniq -c | sort -nr | head

Общее количество tcp-соединений в разных состояниях:

netstat -npt | awk '' | sort | uniq -c | sort -nr | head

Анализ количества tcp-соединений через netstat на 80 порт в состоянии ESTABLISHED:

netstat -npt | grep 80 | grep ESTABLISHED | awk '' | grep -Eo '(3\.)5' | cut -d: -f1 | sort | uniq -c | sort -nr | head

Анализ количества tcp-соединений через netstat на 80 порт:

netstat -plane | grep :80 | awk | cut -d ':' -f1 | sort -n | uniq -c | sort -rn | head -10
netstat -npt | grep 80 | awk '' | grep -Eo '(9\.)6' | cut -d: -f1 | sort | uniq -c | sort -nr | head

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.

Источник

How To Use Linux SS Command

The ss (socket statistics) tool is a CLI command used to show network statistics. The ss command is a simpler and faster version of the now obsolete netstat command. Together with the ip command, ss is essential for gathering network information and troubleshooting network issues.

This article gives an overview of how to use the ss command and shows examples of the most common use cases.

How to Use the ss Command in Linux

Note: Use the apt-get commands to install, update or upgrade the iproute2 software package.

Linux ss Command Examples

The basic ss command usage is without any parameters:

The output returns a list of open non-listening sockets with established connections.

Terminal output of the command ss

The columns show the following details:

  • Netid – Type of socket. Common types are TCP, UDP, u_str (Unix stream), and u_seq (Unix sequence).
  • State – State of the socket. Most commonly ESTAB (established), UNCONN (unconnected), LISTEN (listening).
  • Recv-Q – Number of received packets in the queue.
  • Send-Q – Number of sent packets in the queue.
  • Local address:port – Address of local machine and port.
  • Peer address:port – Address of remote machine and port.
Читайте также:  Arch linux setup network

For a more detailed output, add options to the ss command:

Or list the options individually:

Note: There are many Linux CLI tools for testing the network speed if the connection is slow.

List All Connections

List all listening and non-listening connections with:

Terminal output of the command ss -a command

List Listening Sockets

To display only listening sockets, which are omitted by default, use:

Terminal output of the command ss -l

List TCP Connections

To list TCP connections, add the -t option to the ss command:

Terminal output of the command ss -t

List All TCP Connections

Combine the options -a and -t with the ss command to output a list of all the TCP connections:

Terminal output of the command ss -at

List All Listening TCP Connections

Combine the options -l and -t with the ss command to list all listening TCP connections:

Terminal output of the command ss -lt

List UDP Connections

To show a list of UDP connections, use:

Terminal output of the command ss -u

List All UDP Connections

Combining the options -a and -u with ss outputs a list of all the TCP connections:

Terminal output of the command ss -au

List All Listening UDP Connections

To list all listening UDP connections, use the ss command with options -l and -u :

Terminal output of the command ss -lu

List Unix Sockets

To show all the Unix family sockets, use:

Terminal output of the command ss -x

List Raw Sockets

List Connections to a Specific IP Address

List connections to a specific destination IP address with:

Terminal output of the command ss dst address

To show connections to a specific source address, use:

Terminal output of the command ss src address

Note: To show all connections to the local machine, check your IP address and add the ss src command.

Check Process IDs

To show process IDs (PID), use:

Terminal output of the command ss -p

List Summary Statistics

List the summary statistics for connections with:

Terminal output of the command ss -s

List IPv4 and IPv6 Socket Connections

Filter results further by listing IPv4/IPv6 connections with:

For example, list all IPv6 UDP connections with:

Terminal output of the command ss -au6

Filter Connections

The ss command allows advanced filtering of results and searching for specific ports or TCP states.

Filter Using TCP States

Filter TCP connections using the TCP predefined states:

For example, to find all listening TCP connections:

Terminal output of the command ss -t state listening

Filter by Port Number

Filter for a specific destination port number or port name:

Terminal output of the command ss dst port number

Terminal output of the command ss dst port name

Combine multiple queries for more advanced filtering. For example, find all connections with a destination port 5228 or source port mysql:

ss -a dst :5228 or src :mysql

Terminal output of the command ss command advanced search

Check Man Pages or List All Commands

Check the manual page of ss in the terminal for a detailed overview of how to use the command:

For a quick overview of the available options, enter:

netstat VS ss Command

The ss command is considered a replacement command for the obsolete netstat . The speed and better filtering options of CLI utilities from the iproute2 software package are preferable to the net-tools software package.

The netstat man page lists ss as the superior alternative. The netstat tool is still available to use. However, ss is a better and faster option.

Читайте также:  Which linux for development

The ss tool allows the investigation of socket and network statistics with advanced filtering options for a better troubleshooting experience. This utility is a must-know tool for any system and network administrator.

Check out our list of the best network security tools to minimize threats to your network environment.

Milica Dancuk is a technical writer at phoenixNAP who is passionate about programming. Her background in Electrical Engineering and Computing combined with her teaching experience give her the ability to easily explain complex technical concepts through her content.

A list of all the important Linux commands in one place. Find the command you need, whenever you need it or.

The ip command is a Linux net-tool for system and network administrators used for configuring network.

Learn how to install Nmap on a Linux based system and use it to retrieve valuable information from remote.

Источник

Одминский блог

Подсчет одновременных сетевых сессий в Linux

Поднял под клиентов сервер на выделенном гигабите с 40 тысячами IPv6 прокси, под парсинг инстаграмма. Клиент, не долго думая, выдал 100% утилизацию канала, т.ч стало интересно – каким образом можно посчитать количество конкурирующих сессий.

Основной инструментарий для получения сетевой статистики – это команда netstat

Например суммарная статистика по протоколам, доступна в выводе команды:
# netstat -e -s
Если мы хотим увидеть вообще всю статистику, то это можно сделать командой:
# netstat -a
и из неё уже производить выборку через grep по протоколам, установленным соединениям или портам. Например, вывести все установленные соединения:
# netstat -a | grep ‘ESTABLISHED’
или подсчитать их количество
# netstat -a | grep ‘ESTABLISHED’| wc -l
статистику по всем протоколам, можно получить командой:
# netstat -s -e
но основная проблема netstat в том, что он перебирает сессии одну за другой и в моем случае, вывода команды можно ждать 5-10 минут.

Поэтому для быстрого просмотра активных сессий, лучше воспользоваться более новой командой сетевой статистики, ss. Например для получения полного количества активных сессий, можно использовать:
# ss -s
Вывод будет практически мгновенным. Даже если подсчитывать число сессий в очереди на подключение, то перебор и вывод будет более шустрым.
# ss -t -a | wc -l
Если надо посмотреть общую статистику, то делается это командой
# ss -s

Как вариант, для netstat, можно посмотреть статистику по сессиям, количество установленных, в режиме закрытия и т.д
# netstat -an | awk ‘/tcp/ ‘ | sort | uniq -c

Если же мы хотим посмотреть кличество сессий установленных, например, с каким нибудь внешним айпи (например полезно при проверке прокси фермы), то для этого следует использовать ключи src или dst

Например внешний модем с айпишником 192.168.1.151

# ss src 192.168.89.151

данная команда выведет все установленные сессии, если же добавить счетчик, то число установленных сессий
# ss src 192.168.89.151|wc -l
аналогичный результат даст и команда
# ss -t | grep 192.168.89.151|wc -l
где -t выводит все TCP сокеты, можно также использовать -u и -x для UDP и UNIX сокетов соответственно
а вот если добавить ключ -a для сессий находящихся в состоянии прослушки, то число сессий увеличится
# ss -t -a | grep 192.168.89.151|wc -l

Источник

Оцените статью
Adblock
detector