![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| SlePoY_SniPeR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 12.9.2006 Репутация: нет Всего: нет |
Привет всем! Шаманю над одной программой(сетевой) и возник такой, немного абстрактный вопрос..
Моя программа использует для своей работы стороннее приложение.. Часть её работы заключается в том, чтобы прослушивать исходящий из компьютера траффик, выбирать из всего траффика по определенному правилу пакеты и внутри, кое-что у себя делает (ну что-то типа счётчика этих самых пакетов, которые прошли по определенному правилу) и, ничуть его не задерживая и не изменяя, передавать дальше к получателю.. То есть всё вроде бы хорошо: написать что-то типа сниффера, произвести несложные манипуляции и всё будет работать хорошо.. НО! При большом исходящем траффике с ПК (например, работает торрент-клиент), сторонняя[моя] программа к чёртям зависает и ничего не работает (из-за большого объема обрабатываемых данных).. Нашел решение в том, чтобы прослушивать определенный порт, но после недолгих исследований обнаружил, что при подключении эта сторонняя программа выбирает порт на random из диапазона 30000..50000 (пока что такой диапазон, может быть и больше) и прослушивать определенный порт не представляется возможным... Так вот собственно вопрос: а можно ли как-то определить, какой порт выбрала эта программа, чтобы прослушивать именно его? P.S. Исходников к этой сторонней программе, к сожалению, нет... P.S.S. Пишу программу на Delphi 7, ОС: WinXP Sp3, если необходимо.. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
Определить то можно, как-то ведь Process Explorer от Sysinternals(Microsoft) на вкладке TCP/IP показывает, куда процесс коннектица....
-------------------- There are always someone smarter than you... |
|||
|
||||
| SlePoY_SniPeR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 12.9.2006 Репутация: нет Всего: нет |
Ну такой ответ - это очень хорошо... Значит действительно можно... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
покурив MSDN и поковыряв утилиту netstat, сделал вывод, что получить нужную тебе информацию можно с пом.функции GetExtendedTcpTable
с ней ни разу не сталкивался, но думаю, что там все так же не сложно, как и вообще в WinApi ) -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |