Воспроизведение UDP пакета

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Воспроизведение UDP пакета

Сообщение v-adix » 10.03.2006 (Пт) 13:01

Здравствуйте :)
Очень нужна ваша помощь! Имею лог пакетов своего фаервола (Sygate), для того чтобы анализировать IP пакеты. Пример лога нужного мне UPD пакета:
Код: Выделить всё
0000:  01 00 20 00 01 00 00 00 : 01 00 00 00 08 00 45 00 | .. ...........E.
0010:  00 2C 00 71 00 00 80 11 : A9 65 D4 26 76 8B D4 26 | .,.q.....e.&v..&
0020:  72 12 04 1B 69 87 00 18 : D3 0D FF FF FF FF 69 6E | r...i.........in
0030:  66 6F 73 74 72 69 6E 67 : 0A 00 66 2D 6C 69 66 65 | fostring..f-life
0040:  04 77 65 73 74 03 77 6F :                         | .west.wo       

Нужно программно воспроизвести этот пакет. Не пойму как ... :( Вродебы после 8 байтного заголовка пакета идут только данные. Но при отправке винсоком строки по протоколу UDP в логе помимо той строки которую я отправлял еще куча информации (видимо, идентификация формата передаваемых данных и т.д.). Таким образом, от стандартного компонента Винсок, видимо, придется отказаться (или нет?..) . Есть ли способ имея "дамп" пакета , в точности воспроизвести его?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.03.2006 (Пт) 13:08

Гы.
Явно не через winsock.
Тебе надо на 2-3 уровня OSI вниз спуститься. Что на VB сделать несколько нетривиально.
Lasciate ogni speranza, voi ch'entrate.

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.03.2006 (Пт) 13:28

То что воспроизводить пакет надо не на прикладном уровнем, впринципе было ясно... Но ведь можно поступить по другому.
Пакет же возник не сам по себе, его отправила программа (не VB-шная) используя те же сокеты. Вопрос вполне логичен: как, имея "дамп" пакета, отправить такой же своей программой? Мне бы только знать что означают данные идущие после заголовка ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.03.2006 (Пт) 13:32

v-adix, а приведи свой дамп с "кучей информации", чтобы нам не гадать...
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.03.2006 (Пт) 13:35

Нет, как раз наоборот... тебе нужно руками сделать заголовок...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.03.2006 (Пт) 13:45

tyomich
Я же привел в первом постинге, читай тему внимательнее :)
GSerg
Значит, по любому надо спускаться на транспортный уровень. На VB это реально?
Кстати я сейчас в поисках анализатора пакетов который бы мне более детально показал инфу + мог бы воспроизводить пакеты. Кто нибудь знает подходящие проги? :) Хочу попробовать отослать пакет в точности повторяющий приведенный мной, а ответ от сервера слушать своей программой.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.03.2006 (Пт) 14:47

v-adix писал(а):tyomich
Я же привел в первом постинге, читай тему внимательнее :)

Дык это "что должно получаться", а что на самом деле получается-то?
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.03.2006 (Пт) 16:52

tyomitch
Ты немного не врубился. Есть прога (не моя, не VB-шная) - посылает по протоколу UDP запрос серверу (например, посылает "getinfo"), тот отвечает (например, "10 users online"). Мне нужно написать программу, которая реализовывает тоже самое (т.е. посылает запросы нескольким серверам, и на основе их ответа ведет статистику). Что я делаю: использую фаервол/сниффер и анализирую пакеты, которые посылает эта чужая программа, хочу на основе дампа этих пакетов выяснить правила (т.е. что и как посылается, порты и т.д.) по которым нужно опрашивать сервер чтобы получить от него ответ. В первом постинге я привел дамп пакета, которым чужая программа отсылает запрос. Вот тут то мне и нужна ваша помощь... Не пойму что к чему в этом дампе.
Может быть есть и другие способы реализовать мной задуманное... Жду предложений :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.03.2006 (Пт) 18:54

v-adix, смотри, во что я не врубился:

твоя прога шлёт UDP-пакет.

в нём есть, по твоим словам, какая-то лишняя "куча информации".

ты можешь нам показать, что именно твоя прога шлёт?
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.03.2006 (Пт) 22:38

Вопрос как раз в том, чтобы выяснить что надо послать в моей проге, чтобы отосланный моей прогой пакет совпал с тем что я запостил. Вот как это сделать я не врубаюсь...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Воспроизведение UDP пакета

Сообщение tyomitch » 11.03.2006 (Сб) 10:45

v-adix писал(а):Но при отправке винсоком строки по протоколу UDP в логе помимо той строки которую я отправлял еще куча информации (видимо, идентификация формата передаваемых данных и т.д.).


Ты можешь, наконец, показать, что же именно происходит, когда ты по UDP отправляешь строку? Что за "куча информации" оказывается в дампе?
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 11.03.2006 (Сб) 12:13

w.senddata "12345678" :
Код: Выделить всё
0000:  02 00 20 00 02 00 00 00 : 02 00 00 00 08 00 45 00 | .. ...........E.
0010:  00 24 BC 95 00 00 80 11 : E9 BE D4 26 76 19 D4 26 | .$.........&v..&
0020:  76 0E 04 1B 69 87 00 10 : 2C E2 31 32 33 34 35 36 | v...i...,.123456
0030:  37 38 E1 85 00 00 C5 06 : 00 00 00 87 02 34 14 00 | 78...........4..

w.senddata "teststring" :
Код: Выделить всё
0000:  02 00 20 00 02 00 00 00 : 02 00 00 00 08 00 45 00 | .. ...........E.
0010:  00 26 C1 55 00 00 80 11 : E4 FC D4 26 76 19 D4 26 | .&.U.......&v..&
0020:  76 0E 04 1B 69 87 00 12 : C1 93 74 65 73 74 73 74 | v...i.....testst
0030:  72 69 6E 67 00 00 76 40 : C2 B2 06 11 17 9A 74 76 | ring..v@......tv
0040:  E7 C9                   :                         | ..             

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.03.2006 (Сб) 13:14

А что передаст твоя прога, если передавать String(4,255)+"infostring"+vbLf+vbNullChar :?:


ЗЫ: айпишник какой-то странный... Азербайджанский...
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 11.03.2006 (Сб) 15:29

Вот результат:
Код: Выделить всё
0000:  02 00 20 00 02 00 00 00 : 02 00 00 00 08 00 45 00 | .. ...........E.
0010:  00 2C 16 DC 00 00 80 11 : 8F 70 D4 26 76 19 D4 26 | .,.......p.&v..&
0020:  76 0E 04 1B 69 87 00 18 : CF 83 FF FF FF FF 69 6E | v...i.........in
0030:  66 6F 73 74 72 69 6E 67 : 0A 00 D0 8D 47 69 D5 D0 | fostring....Gi..
0040:  35 92 8A 83 6A BF 8E 7D :                         | 5...j..}       


ЗЫ: Ничего странного, так и должно быть )))

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.03.2006 (Сб) 15:38

И что, твой сервер на такой пакет реагирует иначе, чем на приведённый в первом посте?

С точки зрения UDP, различий между ними нет. Вряд ли твой сервер анализирует приходящие запросы на более низком уровне.
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 11.03.2006 (Сб) 16:43

Получилось! Огроооомное спасибо!!!! Будут ещё траблы (а они наверняка появятся) - напишу :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList