The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Определение PID входящего соединения"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Определение PID входящего соединения"  
Сообщение от wwwdev email(ok) on 31-Май-07, 03:09 
Привет всем. Вот какая заковыка.

В сокет-сервере я пытаюсь определить PID входящего соединения на локальном хосте. Если сервер запущен рутом, это можно сделать, анализируя содержимое /proc/PID/fd, так и поступают утилиты типа netstat. Но если сервер запущен от обычного пользователя, чужие fd могут быть недоступны. В /proc/net/tcp можно найти только UID.

Есть какие-нибудь идеи ? Система Linux, kernel 2.6.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Определение PID входящего соединения"  
Сообщение от NuINu (??) on 31-Май-07, 09:44 
>Привет всем. Вот какая заковыка.
>
>В сокет-сервере я пытаюсь определить PID входящего соединения на локальном хосте. Если
>сервер запущен рутом, это можно сделать, анализируя содержимое /proc/PID/fd, так и
>поступают утилиты типа netstat. Но если сервер запущен от обычного пользователя,
>чужие fd могут быть недоступны. В /proc/net/tcp можно найти только UID.
>
>
>Есть какие-нибудь идеи ? Система Linux, kernel 2.6.
По моему это не возможно, единственная возможность, это когда входящее соединение само сообщит свой ПИД.
Нафиг он тебе нужен?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Определение PID входящего соединения"  
Сообщение от wwwdev email(??) on 31-Май-07, 14:45 
>По моему это не возможно, единственная возможность, это когда входящее соединение само
>сообщит свой ПИД.
>Нафиг он тебе нужен?

В свое время я сделал связку демонов, работающих на одном хосте. Демоны вызывают при необходимости спец-демон через сокет и получают соответствующую информацию. Решение получилось простым и модульным, достигалась хорошая балансировка по производительности и ресурсоемкости, так что трогать это не хочется. Однако выснилось, что если на хосте пасутся несколько пользователей с разными интересами, кто-нибудь может загружать этот спец-демон всякой глупостью. Поэтому пришлось искать простое решение для "верификации" полезных запросов на спец-демоне, без паролей и шифрации трафика.
Я подозреваю, что если нет соответствующих средств на уровне ядра (типа того, что выдается в procfs), то PID я в общем случае не получу. Сейчас верификация будет по-другому, в принципе, удовлетворительно. Но все равно интересно, может, как-то можно все же узнать этот самый PID.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру