The OpenNET Project / Index page

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

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

"/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 08-Авг-03, 20:23  (MSK)
В /proc/net замечательным образом можно посмотреть перечень текущих соединений. А я бы хотел получить в добавок к этому информацию о том,  кто являлся клиентом, а кто сервером в момент установки соединения. Локальный адрес коннектился к удаленному или наоборот. Можно ли каким-либо образом получить такую информацию?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "/proc/net/tcp"
Сообщение от DogEater Искать по авторуВ закладки on 09-Авг-03, 00:29  (MSK)
>В /proc/net замечательным образом можно посмотреть перечень текущих соединений. А я бы
>хотел получить в добавок к этому информацию о том,  кто
>являлся клиентом, а кто сервером в момент установки соединения. Локальный адрес
>коннектился к удаленному или наоборот. Можно ли каким-либо образом получить такую
>информацию?

по портам?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 11-Авг-03, 16:05  (MSK)
>>В /proc/net замечательным образом можно посмотреть перечень текущих соединений. А я бы
>>хотел получить в добавок к этому информацию о том,  кто
>>являлся клиентом, а кто сервером в момент установки соединения. Локальный адрес
>>коннектился к удаленному или наоборот. Можно ли каким-либо образом получить такую
>>информацию?
>
>по портам?

Не понял :-( По каким портам?
На сервере некая прога открыла порт 34277
к ней приконнектились.
Она не многопоточная и больше листенов нет, т.е. может быть только одно соединение. Вот как по факту узнать, что именно к ней коннектились, а не она?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "/proc/net/tcp"
Сообщение от gennady emailИскать по авторуВ закладки on 09-Авг-03, 00:56  (MSK)
>В /proc/net замечательным образом можно посмотреть перечень текущих соединений. А я бы
>хотел получить в добавок к этому информацию о том,  кто
>являлся клиентом, а кто сервером в момент установки соединения. Локальный адрес
>коннектился к удаленному или наоборот. Можно ли каким-либо образом получить такую
>информацию?
man netstat
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 11-Авг-03, 16:07  (MSK)
>>В /proc/net замечательным образом можно посмотреть перечень текущих соединений. А я бы
>>хотел получить в добавок к этому информацию о том,  кто
>>являлся клиентом, а кто сервером в момент установки соединения. Локальный адрес
>>коннектился к удаленному или наоборот. Можно ли каким-либо образом получить такую
>>информацию?
>man netstat


И что он даст? Думаешь не курил? нетстат необходимой мне информацией не обладает. Он показывает текущие соединения (как раз из /proc/net/tcp, udp и т.д. берет), но вот кто это соединение устанавливал и в какую сторону он не знает :-(((

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "/proc/net/tcp"
Сообщение от Михаил emailИскать по авторуВ закладки on 11-Авг-03, 17:35  (MSK)
>но вот кто это соединение устанавливал и в какую
>сторону он не знает :-(((

попробуй tcpdump с фильтром на флаги установки соединения (кажется, SYN)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 11-Авг-03, 17:40  (MSK)
>>но вот кто это соединение устанавливал и в какую
>>сторону он не знает :-(((
>
>попробуй tcpdump с фильтром на флаги установки соединения (кажется, SYN)

Все верно. Но соединение, допустим, было установлено 10 минут назад. tcpdump мне ничего не покажет. Им надо смотреть в момент установки соединения а не постфактум.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "/proc/net/tcp"
Сообщение от DogEater Искать по авторуВ закладки on 11-Авг-03, 18:23  (MSK)
я чего-то не пойму. ты не знаешь какие сервисы у тебя на машине запущены?
по любому на портах <1024 висят общеизвестные сервисы отсюда и надо плясать
все снаружи лезут именно по этим портам на твой ip. А дальше обычная фильтрация по твоему ip


  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 11-Авг-03, 20:03  (MSK)
>я чего-то не пойму. ты не знаешь какие сервисы у тебя на
>машине запущены?
>по любому на портах <1024 висят общеизвестные сервисы отсюда и надо плясать
>
>все снаружи лезут именно по этим портам на твой ip. А дальше
>обычная фильтрация по твоему ip

Ж-)))
Юзвер, допустим, написал CGI скрипт, который пошел наружу и к кому-нибудь приконнектился или наоборот.
И это будут порты точно выше 1024. Вот я и хочу суметь узнать, видя соединение, в какую сторону оно было произведено.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "/proc/net/tcp"
Сообщение от Parish Искать по авторуВ закладки on 11-Авг-03, 21:54  (MSK)
настрой файрвол, и подобные вопросы просто отпадут
  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 12-Авг-03, 16:08  (MSK)
>настрой файрвол, и подобные вопросы просто отпадут

Мне не надо ЗАПРЕЩАТЬ. Мне надо просто знать. Файрвол здесь только подойдет для создания логов, которые потом придется изучать. Опять же не лучшее решение. Далеко не лучшее :-( Я надеялся, что все-таки линух обладает некой историей соединения и можно в любой момент о существующем ESTABLISHED соединении узнать в какую сторону оно устанавливалось.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "/proc/net/tcp"
Сообщение от Parish Искать по авторуВ закладки on 12-Авг-03, 19:32  (MSK)
если ЗАПРЕТИТЬ левые коннекты, то ты узнаешь что хочешь по номеру локального порта.
прим. если разрешены входящие соединения только на 21 и 80 порты, соответственно все другие исходящие
и не придется изобретать велосипед
  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 12-Авг-03, 19:46  (MSK)
>если ЗАПРЕТИТЬ левые коннекты, то ты узнаешь что хочешь по номеру локального
>порта.
>прим. если разрешены входящие соединения только на 21 и 80 порты, соответственно
>все другие исходящие
>и не придется изобретать велосипед

Опять же. Ну НЕЛЬЗЯ запрещать. Сии коннекты крайне нужны. Надо иметь возможность получать о них информацию, но НЕ ЗАПРЕЩАТЬ. Не говоря уже о множестве причин можно привести элементарную - пассив мод у фтп должен работать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "/proc/net/tcp"
Сообщение от Parish Искать по авторуВ закладки on 12-Авг-03, 22:53  (MSK)
тогда проще подправить исходники...


  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 13-Авг-03, 16:03  (MSK)
>тогда проще подправить исходники...


Да нет проблем.
Только похоже, что придется править исходники ядра :-( А вот этим заниматься не хотелось бы.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "/proc/net/tcp"
Сообщение от sergio_nsk Искать по авторуВ закладки on 12-Авг-03, 06:56  (MSK)
Чувак, тебе сказали же еще в первом сообщении man netstat. Всю необходимую  информацию, о которой ты здесь кричишь, netstat выдаёт.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 12-Авг-03, 16:15  (MSK)
>Чувак, тебе сказали же еще в первом сообщении man netstat. Всю необходимую
> информацию, о которой ты здесь кричишь, netstat выдаёт.

Я, вроде, не кричал :-/ Да и не "чувак" вовсе.
А на счет нетстата, все предельно просто. Он работает с файлами /proc/net/tcp, /proc/net/udp, /proc/net/raw и т.д. По инодам смотрит какие программы владеют соединениями. Короче, алгоритм его прост и я тебе сам напишу нетстат за пару часов, что в свое время и делал. Но ни я, ни нетстат не может сказать по любому соединению, которое в данный момент времени ESTABLISHED кем оно устанавливалось. Вернее кем он знает (локальный и удаленный адреса), но вот в какую сторону... Кто был клиентом, а кто сервером? Кто к кому коннектился? Те, кто поняли мой вопрос, про нетстат даже не заикались.
Видимо, все-таки необходимая мне информация линухом нигде не хранится, поэтому и нетстат здесь не помошник и единственный путь, как здесь и писали, это пользоваться файрволом или tcpdump'ом, а потом каждый раз разбирать логи и искать кто же два часа назад устанавливал соединение, локальный адрес или удаленный.
В любом случае, спасибо за попытки помочь мне в моем вопросе. Если узнаете что-то еще, дайте мне, пожалуйста, знать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "/proc/net/tcp"
Сообщение от Михаил emailИскать по авторуВ закладки on 11-Авг-03, 18:31  (MSK)
>>>но вот кто это соединение устанавливал и в какую
>>>сторону он не знает :-(((
>>
>>попробуй tcpdump с фильтром на флаги установки соединения (кажется, SYN)
>
>Все верно. Но соединение, допустим, было установлено 10 минут назад. tcpdump мне
>ничего не покажет. Им надо смотреть в момент установки соединения а
>не постфактум.
так что мешает поставить его в автозапуск с записью результатов в файл?
и что-то я не припомню, чтобы стек tcp/ip хранил информацию об инициаторе установления соединения...


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 11-Авг-03, 20:02  (MSK)
>>>>но вот кто это соединение устанавливал и в какую
>>>>сторону он не знает :-(((
>>>
>>>попробуй tcpdump с фильтром на флаги установки соединения (кажется, SYN)
>>
>>Все верно. Но соединение, допустим, было установлено 10 минут назад. tcpdump мне
>>ничего не покажет. Им надо смотреть в момент установки соединения а
>>не постфактум.
>так что мешает поставить его в автозапуск с записью результатов в файл?
>

Это очень кривой способ :-((( Конечно как вариант подходит, но не хотелось бы нагружать машину лишними действиями, логами и т.д. которые происходят постоянно

>и что-то я не припомню, чтобы стек tcp/ip хранил информацию об инициаторе
>установления соединения...


  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "/proc/net/tcp"
Сообщение от DogEater Искать по авторуВ закладки on 11-Авг-03, 23:09  (MSK)
тогда файрвол, смотреть syn пакеты в логе.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 12-Авг-03, 16:16  (MSK)
>тогда файрвол, смотреть syn пакеты в логе.

Тоже не круто. Очень большие проблемы с производительностью будут на машине, где устанавливается несколько миллионов коннектов в сутки :-(

Но похоже, действительно, другого способа нет :-(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "/proc/net/tcp"
Сообщение от DogEater Искать по авторуВ закладки on 13-Авг-03, 16:11  (MSK)
>>тогда файрвол, смотреть syn пакеты в логе.
>
>Тоже не круто. Очень большие проблемы с производительностью будут на машине, где
>устанавливается несколько миллионов коннектов в сутки :-(
>
>Но похоже, действительно, другого способа нет :-(


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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "/proc/net/tcp"
Сообщение от Maxim emailИскать по авторуВ закладки on 13-Авг-03, 18:18  (MSK)
>>>тогда файрвол, смотреть syn пакеты в логе.
>>
>>Тоже не круто. Очень большие проблемы с производительностью будут на машине, где
>>устанавливается несколько миллионов коннектов в сутки :-(
>>
>>Но похоже, действительно, другого способа нет :-(
>
>
>не так уж это и страшно
>для производительности важно сколько обрабатывается соединительных пакетов в единицу времени
>на фоне того, что у тебя ВСЕ пакеты должны обрабатываться файрволом это
>не даст(имХо) особого падения производительности
Ты прав. НО! Лишние обращения к диску файрволом (лог то писать надо) и потом обработка этого лога моей софтиной (в поисках момента соединения) уже ОЧЕНЬ сильно догрузят

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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