| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Использование траффика. |
| Автор: iddqd 16.1.2006, 15:11 |
| Скачал Магенту и поискал по форуму. Не могу понять как сделать. Необходимо мониторить входящий\исходящий траффик одной программы. |
| Автор: SoWa 16.1.2006, 21:43 |
| Вот исходники. |
| Автор: iddqd 17.1.2006, 18:07 |
| Видишь ли, сложность как раз в том, что мне надо считать траффик только для моего приложения или для какого-нибудь конкретного приложения, а не общий траффик. |
| Автор: Snowy 17.1.2006, 18:12 |
| Наиболее простой вариант - через MappedPort. Если конечно такой вариант устроит. |
| Автор: iddqd 17.1.2006, 18:17 |
| Snowy, можно подробней, пожалуйста. Если возможно - с примером. |
| Автор: Snowy 17.1.2006, 19:10 |
| Нужно написать мапер. Мапер принимает входящий трафик на свой порт и пересылает его дальше. Логика: Например мы хотим считать (или логировать) траффик ICQ. Запускаешь на своей машине мапер. Настраиваешь исходящие хост и порт на сервер ICQ. Выбираешь любой входящий порт, какой не занят. Стартуешь мапер. Запускаешь клиента (в данном случае аську). Выбираешь сервер - хост и порт, где сидит мапер (в данном случае локалхост, наш входящий порт). Ася коннектится к маперу, мапер все до байтика пересылает на сервер аси и обратно. Смысл в том, что на мапере мы имеем событие, в котором мы можем полностью контролировать траффик. Можем считать, писать в лог, менять. Все, что угодно. Минус такого подхода - клиент должен быть настроен на мапер, иначе ничего не получится. Плюсы - все просто и ясно. Можно реализовать самому, а можно использовать TIdMappedPortTCP (TIdMappedPortUDP - для UDP) - там уже все реализовано. Только пропиши хост, входящий-исходящий порты, да нарисуй обработчик события на проходящий траффик. Добавлено @ 19:12 Добавлю: Можно мапер вынести на отдельный сервер, запретить файрволом для всех, кроме сервера, обращение к серверу аси, а всех заставлять коннектить асю через мапер. Мапер - это вообще одна из функций полноценной прокси. |
| Автор: iddqd 18.1.2006, 09:41 |
| Ужас какой. Я тогда поступлю несколько иначе. Сделаю работу моей программы с интернетом по определённом, уникальному порту и буду считать трафик только по этому порту. В принципе я это уже сделал и всё работает. Спасибо за помощь. |
| Автор: iddqd 18.1.2006, 20:48 |
| N1k, считать траффик для определённой программы. Возможно подойдёт и хук, только можно пример? |
| Автор: RA 19.1.2006, 16:50 |
| пример где-то на форуме я давал, правдо там не посчёт трафика, а отлов каждого пакета из чужого приложения, так-что поковырявшысь мона и подсчёт сделать. |