Я пытаюсь найти, какое приложение, работающее в кластере Kubernetes, использует определенный порт для связи с кластером RabbitMQ. На RabbitMQ я вижу, что соединение исходит от 192.168.1.10:34226. 192.168.1.10 - один из узлов Kubernetes. После входа в 192.168.1.10 я проверил, установлено ли соединение с этого узла с помощью команды tcpdump tcpdump -i eth0 port 34226
. Я вижу пробки в обоих направлениях. Теперь я пытаюсь найти, какой процесс устанавливает эту связь. Сначала я попробовал netstat:
netstat -tapn | grep 34226
и ничего не нашел. Затем я попробовал ss, но все равно ничего. Соединение установлено, с помощью tcpdump я вижу пакеты пульса, отправленные RabbitMQ, и ответ от RabbitMQ. Но netstat и ss не сообщают об установленном соединении.
ОБНОВЛЕНИЕ 1
Я обнаружил, что это связано с сетевыми пространствами имен. Мой вопрос похож на этот вопрос но мне нужно найти PID процесса, который подключается к порту 34226.
Через пару недель я нашел ответ. Мне нужно было бежать netstat -tapn
во всех пространствах имен с помощью следующей команды:
sudo ip -all netns exec netstat -tapn | grep 34226
Теперь у меня есть PID-номер процесса, который запускает TCP-соединение с порта 34226.