http/http анализатор трафика
Я хотел бы разработать приложение на C++, которое бы перечисляло все URL, к которым обращались, с их временем отклика на ПК. это, вероятно, будет прозрачным для пользователя, так что это будет DLL.
Кто-нибудь может дать мне несколько примеров кодов или учебников по этому вопросу. или какие-либо советы и предложения?!..
большое спасибо:))
2 ответа
Вы должны взглянуть на плагины Fiddler. Это не тривиальное упражнение. Вам нужно сделать внедрение зависимостей, чтобы перехватить вызовы wininet. Тем не менее, не все приложения используют API-интерфейсы Windows высокого уровня для инициирования соединений. Приложения, которые устанавливают TCP-соединения, могут работать долго, поскольку не все TCP-вызовы являются простыми веб-запросами.
Как сказал Байрон, это нетривиальное упражнение. Вы можете сделать это, используя libpcap http://sourceforge.net/projects/libpcap/, установив http://www.winpcap.org/ в Windows. Учебные руководства по использованию libpcap уже есть, и вам нужно научиться отфильтровывать все, кроме трафика http / https, хотя, как только вы дойдете до этого этапа, это не должно быть слишком сложно. Попробуйте http://yuba.stanford.edu/~casado/pcap/section1.html для начинающих или http://systhread.net/texts/200805lpcap1.php. Оба руководства выглядят разумно.
Я также чувствую, что должен указать, что "прозрачный для пользователя" и "dll" не являются эквивалентными идеями. DLL - это набор библиотечных функций, отдельных от приложения, которые могут использоваться многими приложениями - см. http://en.wikipedia.org/wiki/Dynamic-link_library. "Стандартный" исполняемый файл (т. Е. Файл, оканчивающийся на.exe) все еще может быть прозрачным для пользователя, если он запущен, например, как служба Windows, что может быть больше, чем вы ищете.