ситуация такая - хочу написать свой аналог сниффера http пакетов через перехват сокетных функций , возникла проблема с перехватом функции WSASend - такое ощущение что отображается не весь POST запрос а только заголовок, вот на примере авторизации на вконтакте, вот обработчик
Код | int PASCAL FAR xWSASend(IN SOCKET s, IN LPWSABUF lpBuffers, IN DWORD dwBufferCount, OUT LPDWORD lpNumberOfBytesSent,IN DWORD dwFlags,IN LPWSAOVERLAPPED lpOverlapped,IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) { if (!lstrcmpn((char*)lpBuffers->buf,"POST",4)) { if (dwBufferCount > 1) MESS("dwBufferCount > 1");
HANDLE F = CreateFileA("M:\\log.txt", // путь/имя файла GENERIC_READ | GENERIC_WRITE, // открываем для чтения/записи FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, // без защиты OPEN_EXISTING, // переписать существующий файл FILE_ATTRIBUTE_NORMAL, // нормальный файл NULL); DWORD wrtn = 0; SetFilePointer(F,0,0, FILE_END); WriteFile(F, lpBuffers->buf, lpBuffers->len,&wrtn, 0 ); CloseHandle(F); . . .
|
// а вот сами заголовки
Код | // это перехват ф-ции send POST / HTTP/1.1 Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */* Referer: http://vkontakte.ru/login.php?m=1&email=47333345435 Accept-Language: ru User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Host: login.vk.com Content-Length: 95 Connection: Keep-Alive Cache-Control: no-cache
act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email=47333345435&pass=78658686&expire= ________________________________________________________________________________________ а это перехват ф-ции WSASend // в оличие от предыдущего - есть хидеры не хватает самих передаваемых данных POST / HTTP/1.1 Host: login.vk.com Connection: keep-alive User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0 Referer: http://vkontakte.ru/login.php?m=1&email=353646445654 Content-Length: 99 Cache-Control: max-age=0 Origin: http://vkontakte.ru Content-Type: application/x-www-form-urlencoded Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: gzip,deflate,sdch Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3
|
есть ли у кого мысли где тут может быть "собака зарыта" ? |