ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

02.02.2010, 19:37
|
|
Новичок
Регистрация: 07.07.2009
Сообщений: 26
Провел на форуме: 178716
Репутация:
0
|
|
Чтение пакетов снифера
Есть самописный снифер на C#, снифаю им пакеты браузера, затем необходимо отпарсить html текст, достав необходимую информацию. Проблема в том, что текст в пакета не очень читабелен. Можно ли как-нибудь привести пакет к читабельному виду? Вот, например, кусок пакета с хтмл странички ya.ru
(русские буквы так вообще не отображаются)
Код:
HTTP/1.1 200 OK..Server: nginx..Date: Tue, 02 Feb 2010 15:38:23 GMT..Content-Type: text/html; charset=utf-8..Last-Modified: Tue, 12 Jan 2010 15:29:03 GMT..Transfer-Encoding: chunked..Connection: keep-alive....1362..<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><meta http-equiv=Content-Type content="text/html;charset=utf-8"><title>............</title><link rel="shortcut icon"href="http://img.yandex.net/i/favicon.ico"><base target="_top"><style type="text/css">*{font-size:100.01%;margin:0}body{font:.8em Arial,sans-serif;background:#fff url(http://www.tns-counter.ru/V13a****yandex_ru/ru/CP1251/tmsec=yandex_ya/0)}body,a{color:#999}a:hover{color:#f00!important}table{width:100%;height:100%}table table{width:65%;max-width:1000px;min-width:300px;margin:auto}table table td{padding:.25em}#text,#text input{font:100% Arial,sans-serif;width:100%}p{padding:5em 2.2em 13px}body,ul,li{padding:0;list-style:none}span{white-space:nowrap}#head{float:left;width:100%}#head li{font:85% Verdana,sans-serif;padding:5px 10px 7px 0}#head a{color:#000}#head .s{float:left;padding-left:10px}#head .s a{float:left;color:#ee7b00}#head .s i{position:absolute;width:16px;height:16px;margin-left:-19px;background:url(http://img.yandex.net/i/switch-yaru.png) no-repeat}#mail{float:right}#head .user,#head .user *{text-decoration:underline}#head .user *{color:#f00}#head .exit{color:#E03A3A}</style><!--[if IE]><style>.b-search__wrap{width:expression(document.body.clientWidth>1600 ? '1000px':document.body.clientWidth< 500 ? '300px':'65%')}#head .s i{cursor:hand}</style><![endif]--><style type="text/css"media="handheld">body{padding:.5em}tr,td{display:block}table,table table,td,p{padding:0;height:auto;width:100%;min-width:0;text-align:center}#text *{width:180px}input{margin:.5em 0}</style><script type="text/javascript">var ieHomeCheck={URL:"http://ya.ru/",linkId:"sethome",clids:[41124],_checkClids:function(){var D=-1;document.body.style.behavior="url(#default#homepage)";if(document.body.isHomePage("http://ya.ru/")||document.body.isHomePage(this.URL)){return 0}for(var C=0;C<this.clids.length;C++){if(document.body.isHomePage(this.URL+"?clid="+this.clids[C])){return this.clids[C]}}return D},_hide:function(){document.getElementById(this.linkId).style.display="none"},_cH:function(F,G){var E=function(C,A,B){return location.protocol+"//clck.yandex.ru/"+B+"/dtype="+C+"/pid=132/cid=2039/path="+A+"/rnd="+((new Date()).getTime()+Math.round(Math.random()*100))+"/*"+G};var H=document.createElement("script");H.src=E("stred",F,"jclck");document.documentElement.getElementsByTagName("head")[0].appendChild(H)},action:function(){this.URL=location.protocol+"//"+location.hostname+"/";var B=this._checkClids();if(B>0){this._hide();this._cH("nextdistrib.homepage."+B,this.URL)}else{if(B==0){this._hide();this._cH("nextdistrib.homepage",this.URL)}}}};function c(A,B,C){new Image().src=location.protocol+"//clck.yandex.ru/click/dtype=stred/pid="+B+"/cid="+C+"/rnd="+((new Date()).getTime()+Math.round(Math.random()*100))+"/*"+(A.href?A.href:"")}function setHome(A,B){try{A.style.behavior="url(#default#homepage)";A.setHomePage(B);return false}catch(C){}}function createElement(B,A){var D=document.createElement(B);for(var C in A){D[C]=A[C]}return document.getElementsByTagName("head")[0].appendChild(D)};</script><table cellspacing=0 cellpadding=0><tr><td valign=top colspan=2 height=1><ul id=head><li class=s><a id="sethome"href="http://help.yandex.ru/start/"onclick="c(this,17,1755);return setHome(this,'http://ya.ru/?clid='+(location.href.match(/clid=(\d+)/)?location.href.match(/clid=(\d+)/)[1]:'41124'))">.............. ..................</a><li id=mail><a href="http://mail.yandex.ru"onclick="c(this,17,1080)">..........................</a></ul><!--[if IE]><script type="text/javascript">ieHomeCheck.action();</script><![endif]--><tr><td align=center colspan=2><form action="http://yandex.ru/yandsearch"onsubmit='var clid=location.href.match(/clid=(\d+)/);location.href=this.action+"?text="+encodeURIComponent(this.text.value)+(clid?"&"+clid[0]:"");return false'><table class="b-search__wrap"><tr><td><a href="http://www.yandex.ru"onclick="c(this,17,1081)"><img src="http://ya.ru/logo.png"width=100 height=44 border=0 alt="............"></a><td id=text><div><input name=text size=50 maxlength=300></div><t
Последний раз редактировалось Hwma; 02.02.2010 в 19:40..
|
|
|

02.02.2010, 19:41
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
точки эти - 0d 0a - возврат строки перевод каретки
а русский должен отображаться нормально, если в консоли отображаешь, - есть CharToOem и тд
Можешь сделать для пакета WriteFile в какойнить файло и посмотри,
только двоичные данные, - они так и будут нечитабельными, можешь фильтр добавить который будет писать только от 'a'-'z' 'A'-'Z' '0'-'9'
__________________
 
snow white world wide
Последний раз редактировалось sn0w; 02.02.2010 в 19:45..
|
|
|

02.02.2010, 20:21
|
|
Новичок
Регистрация: 07.07.2009
Сообщений: 26
Провел на форуме: 178716
Репутация:
0
|
|
Неправильно задал вопрос, проблема немного в другом. В пакете текст и байты разделены на две "колонки" и ширина колонки с текстом вроде как всегда одна и если строка не помещается, она переносится на след. строку, то есть слово yandex например может там отобразиться и как
и как
то есть парсить проблематично в этом плане. Вот может можно как-то сохранять только текст, без байтов.
Ну это ладно полбеды. Сейчас еще с одной проблемой столкнулся, пришел такой вот пакет (частично)
Код:
8A 2A CE 71 4A 79 76 5A 30 4D D1 CB ED 74 77 BA *ÎqJyvZ0MÑËítwº
8A CE 7C 57 6A 53 72 4B 64 88 51 69 82 EA D6 9E Î|WjSrKdQiêÖ
B3 98 19 6C 0A 31 48 D7 22 47 55 52 D0 31 64 08 ³.l.1H×"GURÐ1d.
D3 C9 E4 69 33 9C 83 8D 39 99 62 71 03 EF B6 B7 ÓÉäi39bq.ï¶·
75 A8 B2 EB 45 DF C7 AE CB 55 1D F6 D8 71 D3 2E u¨²ëEßÇ®ËU.öØqÓ.
F6 30 5B A4 CD 5A 60 15 0E DD 6E A1 62 3C 20 56 ö0[¤ÍZ`..Ýn¡b< V
2C 2B B1 05 D4 1B 97 73 58 CB CB AD 03 83 5E 4C ,+±.Ô.sXËË*.^L
48 89 FA F3 F5 D5 17 7B CC 7F 5B B7 0F 44 1C 79 HúóõÕ.{Ì[·.D.y
15 85 07 B4 29 30 F2 0C 32 CD 53 0F 24 CB B1 CD .
.´)0ò.2ÍS.$˱Í
B0 92 14 57 79 91 21 D9 98 4A 12 0F 8C F8 69 97 °.Wy!ÙJ..øi
E7 13 0F 72 B6 CE 50 2E 29 8D BC D7 93 89 F7 CE ç..r¶ÎP.)¼×÷Î
77 57 76 A5 08 6D E8 53 2A B2 38 6C 45 77 F4 D6 wWv¥.mèS*²8lEwôÖ
4F 45 23 23 6C A6 38 F0 33 21 7F F8 43 D8 6A AC OE##l¦8ð3!øCØj¬
86 C4 D0 26 43 93 22 92 8D A5 1A 13 1B 1B 7F 1F ÄÐ&C"¥.....
B5 BD E6 C6 F8 6D FF 9D FF 41 E3 BE B4 A3 B7 64 µ½æÆømÿÿAã¾´£·d
По идеи тут ХТМЛ текст, подозреваю, что эти каракули из-за Accept-Encoding: gzip,deflate. Как их можно расшифровать?
|
|
|

02.02.2010, 20:23
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
ненене))) пакет может быть фрагментом че угодно - хоть картинки хоть хз. потому что вообще есть maximum transmission unit для лок сети который весит около полутра КБ. и если ты сгружаешь страницу - то получать ты будешь все пдоряд.
тыб хоть сорс привел, откуда я знаю как ты его парсишь)
__________________
 
snow white world wide
Последний раз редактировалось sn0w; 02.02.2010 в 20:26..
|
|
|

02.02.2010, 20:36
|
|
Новичок
Регистрация: 07.07.2009
Сообщений: 26
Провел на форуме: 178716
Репутация:
0
|
|
Сообщение от sn0w
ненене))) пакет может быть фрагментом че угодно - хоть картинки хоть хз. потому что вообще есть maximum transmission unit для лок сети который весит около полутра КБ. и если ты сгружаешь страницу - то получать ты будешь все пдоряд.
тыб хоть сорс привел, откуда я знаю как ты его парсишь)
Ну сейчас я пытаюсь просто получить хтмл ya.ru. Параллельно снифаю через WPE-PRO, он все читает нормально. Поставил в своем сниффере фильтр, чтоб отображались только пакеты с ya.ru ну и в пакете с заголовками HTTP/1.1 200 OK и Content-Type: text/javascript, который в ВПЕ отображается нормально, у меня отображается вот так как я выше показал..
|
|
|

02.02.2010, 20:44
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
все прална .... идет анализ пожатого контента! Пожатый контент НИ ОДНИМ СНИФЕРОМ не просмотреть 8))) gzip жмет весь ФРАГМЕНТ и разжимает только ВЕСЬ .... а у тебя ПРИСМОТРИСЬ только часть .... фрагменты разбросаны в зависимости от MTU!
ТС откажись от этой затеи...
|
|
|

02.02.2010, 20:55
|
|
Новичок
Регистрация: 07.07.2009
Сообщений: 26
Провел на форуме: 178716
Репутация:
0
|
|
Сообщение от Retimiled
все прална .... идет анализ пожатого контента! Пожатый контент НИ ОДНИМ СНИФЕРОМ не просмотреть 8))) gzip жмет весь ФРАГМЕНТ и разжимает только ВЕСЬ .... а у тебя ПРИСМОТРИСЬ только часть .... фрагменты разбросаны в зависимости от MTU!
ТС откажись от этой затеи...
Почему же тогда WPE-PRO нормально читает gzip'овский контент?
|
|
|

02.02.2010, 21:03
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
потому что по видимому следит за потоком фрагментированных данных
возьми Wireshark и посмотри для примера как к тебе данные приходят. а еще лучше - сам wpdpack.
Код:
// Open the adapter
if ((adhandle= pcap_open_live(d->name, // name of the device
65536, // portion of the packet to capture.
// 65536 grants that the whole packet will be captured on all the MACs.
1, // promiscuous mode (nonzero means promiscuous)
1, // read timeout (1ms to maximum performance)
errbuf // error buffer
)) == NULL){
printf("\nUnable to open the adapter. %s is not supported by WinPcap\n");
pcap_freealldevs(alldevs);
return 3;
}
и поэкспериментируй с таймаутом
я повторюсь - но - все приходит фрагментами, если правильно хочш выстроить, следи за tcp syn/ack
__________________
 
snow white world wide
Последний раз редактировалось sn0w; 02.02.2010 в 21:09..
|
|
|

02.02.2010, 21:30
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
Кошмар, кошмаррр... я думал сложность сетевого анализа лишь в написании грамотного парсера, а оказываются еще пакеты фрагментированные идут не по порядку O_O. А как узнать фрагментирован ли пакет? и как их собрать ??? кошмарррр Ааааааа
|
|
|

02.02.2010, 21:47
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
да идет новичек по лесу .... думает ну через пеньки то я перепрыгну а тут фигак и лбом об столетний дуб!
 ... нада на форуме спросить какой высоты пеньки бувают! 
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Wireshark - практика перехвата
|
iv. |
Авторские статьи |
7 |
03.03.2010 02:37 |
|
Еще один вопрос о перехвате пакетов
|
Chrome~ |
С/С++, C#, Delphi, .NET, Asm |
19 |
03.02.2010 04:11 |
|
Документация по airodump-ng, aircrack-ng, airserv-ng, Aireplay-ng.
|
Elvis000 |
Беспроводные технологии/WPAN/WLAN |
4 |
31.10.2009 18:58 |
|
Спуфинг и сборка пакетов
|
Carlos0x29A |
С/С++, C#, Delphi, .NET, Asm |
2 |
11.08.2009 17:18 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|