Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Вниз

Нумерация открытых хэндлов чужого процесса   Найти похожие ветки 

 
FireHack   (2003-10-27 18:36) [0]

Всем привет!!!
Проблема следующая - было необходимо вывести список:
ip | port | Id процесса

с первыми 2-мя все просто (можно использовать GetTcpTable), но как определить id процесса, инициирующего соединение. Кто-то посоветовал пройтись по всем открытым хэндлам процессов, но, как это сделать, не сказал.

Вопрос: как это сделать

Всем спасибо.


 
Digitman   (2003-10-28 11:04) [1]

я бы поступил проще

- устанавливаем любой глоб.хук
- в ходе иниц-ции хук-DLL перехватываем WinsockAPI-вызовы socket(), CloseSocket(), bind(), connect() - эти ф-ции дают инф-цию о хэндлах создаваемых гнезд и ассоциированных с ними интерфейсами/номерами портов
- в ходе той же инициализации вызываем GetCurrentProcessId для получения Id тек.процесса, в контексте которого возможно будут впоследствии вызываться вышеупомянутые ф-ции

т.о., ставится однозначное соответствие между Id процесса и Winsock-ресурсами, им занимаемыми/освобождаемыми в ходе работы

полученная инф-ция передается любым удобным способом в процесс-монитор, установивший этот глоб.хук

сама хук-ф-ция в теле хук-DLL может ничего полезного и не делать, просто вызывать в своем теле CallNextHookEx()


 
FireHack   (2003-10-28 13:10) [2]

>> Digitman
Тогда для корректной работы тебе нужно запускать свою прогу ДО запуска всех приложений ака открытия сокетов, а мне необходимо иметь ТЕКУЩУЮ инфу об открытых сокетах.


 
Digitman   (2003-10-28 16:27) [3]

копай в msdn в сторону интерфейса транспортного устройства (кл.слово "TDI")



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-86550
Layner
2003-12-01 10:15
2003.12.26
Скажите, что пишут индийские программисты.


11-86324
Сергей
2003-04-14 15:08
2003.12.26
Глюки :(


1-86344
Артем
2003-12-12 05:55
2003.12.26
Проблема при работе с двумя потоками


4-86598
Serhio
2003-10-31 19:24
2003.12.26
Поиск окна


3-86254
Vick
2003-12-03 10:26
2003.12.26
Как достучаться с одного сервера на другой в MSSQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский