Home › Forums › Discussions › Support › изменение http пакета
- This topic has 4 replies, 2 voices, and was last updated 13 years, 9 months ago by Vadim Smirnov.
-
AuthorPosts
-
December 1, 2010 at 9:26 am #5346
Всем привет!
Имеется пакет перехваченный winpkfilter.
Меняю в нём данные относящиеся к хттп пакету (на примере запроса поиска в гугле)Исходный пакет:
GET /search?hl=ru&source=hp&q=test_test_test&aq=f&aqi=g3&aql=&oq=&gs_rfai= HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.6.30 Version/10.63
Host: http://www.google.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.google.ru/
Cookie: SID=DQAAAI8AAACdEAaCqK2iBuVB1j9BUkdVJ5LODiUho3u8f4CdFw2VyNZUNYHEAvqMPGfzP4GJn4iimUYE06ddh0nSnamWzUtFWfx3FE-sPZLl175SXHgQomnJFoghXObEBmDauReRBUZJ8Rn_VRSK8SkItvKaJTnaffOEml9GAgqR8TuevgkPm9hIpb-C0sYDXynUGalqC9A; HSID=AAbeTc2MOhumUmUjd; PREF=ID=e2db04b8b6118fd3:U=c6798ae856192631:FF=0:NW=1:TM=1289132773:LM=1289132804:S=ZVuENLF8S1ubuWMA; NID=40=SxnZxvJXKdr4QVVf6CfGLKYld64oC-SEiJxXW7y2LBDFwXDefVaFIK0AjSsZTb6EF5zDVRtkCapMfkiyrFNbHfcv_rSUaxMJ4zGivVYKx8lfnF3UzMSFWnx_A1QaR6dt
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailersИзменённый пакет:
GET /search?hl=ru&source=hp&q=ololo&aq=f&aqi=g3&aql=&oq=&gs_rfai= HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.6.30 Version/10.63
Host: http://www.google.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.google.ru/
Cookie: SID=DQAAAI8AAACdEAaCqK2iBuVB1j9BUkdVJ5LODiUho3u8f4CdFw2VyNZUNYHEAvqMPGfzP4GJn4iimUYE06ddh0nSnamWzUtFWfx3FE-sPZLl175SXHgQomnJFoghXObEBmDauReRBUZJ8Rn_VRSK8SkItvKaJTnaffOEml9GAgqR8TuevgkPm9hIpb-C0sYDXynUGalqC9A; HSID=AAbeTc2MOhumUmUjd; PREF=ID=e2db04b8b6118fd3:U=c6798ae856192631:FF=0:NW=1:TM=1289132773:LM=1289132804:S=ZVuENLF8S1ubuWMA; NID=40=SxnZxvJXKdr4QVVf6CfGLKYld64oC-SEiJxXW7y2LBDFwXDefVaFIK0AjSsZTb6EF5zDVRtkCapMfkiyrFNbHfcv_rSUaxMJ4zGivVYKx8lfnF3UzMSFWnx_A1QaR6dt
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailersПроблема состоит в следующем:
Если запрос в гугле был длиннее или такой же как на тот который мы заменяем, то всё в порядке. Выдаются результаты по изменённому параметру.
Если исходный запрос был короче, то – “Соединение закрыто удалённым севером”.
Есть подозрение что проблема кроется в значении длины буфера, которое передаётся в пакете. (я пробовал его изменять, но результат остался прежним) Незнаю что дальше делать, помогите пожалуйста 🙂December 8, 2010 at 2:58 pm #6997Если изменяется длина пакета, то нужно позаботится об изменении полей SEQ/ACK в TCP заголовке.
December 10, 2010 at 9:15 pm #6998SerpentFly, спасибо большое! попробую 🙂
December 13, 2010 at 11:26 am #6999Прочитал описание SEQ/ACK полей и непонял как на них может повлиять изменение размера пакета…
Sequence number (32 bits) – has a dual role If the SYN flag is set, then this is the initial sequence number. The sequence number of the actual first data byte will then be this sequence number plus 1. If the SYN flag is not set, then this is the sequence number of the first data byte
Acknowledgement number (32 bits) – if the ACK flag is set then the value of this field is the next expected byte that the receiver is expecting.
SerpentFly, расскажите пожалуста по подробнее.
ЗЫ: может поле th_sum (структуры tcphdr) нужно пересчитывать?…
February 19, 2011 at 10:59 am #7000Внимательно читайте описание протокола TCP, например если пакет был уменьшен, то приемник ACK-нет меньшим сегментом и отправитель будет пересылать хвостик пакета до тех пор пока не получит подтверждение.И наоборот, если пакет увеличен то приемник ACK-нет большим значением чем ожидает отправитель. Принцип понятен?
-
AuthorPosts
- You must be logged in to reply to this topic.