Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.26;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-86319
Kramar
2003-12-01 22:35
2003.12.26
DBGrid


3-86247
rosl
2003-12-04 03:59
2003.12.26
muliselect


3-86268
ki11er
2003-12-03 14:12
2003.12.26
Как записать запрос в таблицу?


1-86363
Godness
2003-12-15 20:36
2003.12.26
Вертикальный текст в QReport


1-86434
race1
2003-12-13 07:34
2003.12.26
unicode vs. русс.