По 84 версии. Сумбурно.
1. Очень не привычна много-оконность.
2. RAW-лог сам сохраняется, если стоит галочка "Дать возможность сохранять RAW логи трафика"? Мне нужно чтобы в автомате сохранялось.
3. Как отключить показ закладок типа [Proxy]#1234? На каждой кнопку жать?
4. Кнопка показать/спрятать фильтры - только показывает.
5. Если нажать в фильтре "Применить", то сбивается текущая закладка (обновляются все по очереди) и останавливается на последней.
6. Кнопка "Следить за последним пришедшим пакетом" следит в отжатом состоянии, может переименовать ее тогда типа в лок/унлок?
7. У пакетов ProtocolVersion, KeyInit ID - однобайтное, а здесь двухбайтное.
Пробовал на русоффе, астериосе (грация) - на выборе сервера привисает.
Пробовал на абиссе (интерлюдия), перехватывает, пакеты показывает, девять закладок с [Proxy]#... и одну с моим чаром.
Через некоторое время коннект привисает.
1. дело времени. имхо.
2. в опциях галочка разрешает создавать tmemorystream. для каждого соединения. сохранения равлога по требованию. могу сделать автоматом но надо ли ?
3. Обрати внимание на "кнопку-замок" в правой части тулбара в фрейме соединения, и на опцию "не закрывать "окно" соединения после дисконнекта" в опциях которая влияет на установку этой "кнопки-замка" при создании фрейма.
если этот замок не стоит то фрейм будет автоматически дестроится после дисконекта (оставляя только рабочие соединения и соединения в которых этот замок установлен вручную), в противном случае, дестроиться только по кнопке рядом с замочком -)
а те вкладочки - это скорей всего пинг при выборе сервера. соединение осуществляется и проходит всего лишь 1 пакет.
4. поправлю -)
5. ой, это с введением прогрессбара связано. исправлю.
6. добавлю not (был невнимателен)
7. хм, гдето в отрисовке накосячил, или ты только что подсказал о наличии более серьезного бага.
про русофф. прокол его дешифрован ?.
там первые байты пакетов совсем не означают их длинну. естественно он виснет. старый пх так же виснет.
нужен отдельный алгоритм декриптовки траффика для русофа.
про абисс я знаю. там чтото станное, сейчас бегаю на шоке 3м. такого не наблюдаю (специфика клиента абиса ? м.б. защита ?)
добавлено: murc, бери, кто недает. ссылки в первом посту. еще со вчера лежит -)
Добавлено через 43 минуты
кажется нашел баг в uencdec связаный с скапливанием вызовов sendmessage :X
этот баг теоретически влечет за собой сбои в работе с лсп. и является первопричиной вылетов при вмешивании в протокол (измененние пакета/отсылка своего)
капец. -(
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 04.04.2009 в 15:56.
Причина: Добавлено сообщение
alexteam, вот кста мой вариант установки/удаления провайдера а так же показа списка провайдеров и всех их параметров + мой провайдер логирующий трафик shieldConsole в файлы - LSP_sample.rar
ЗЫ тока из за неудачных попыток совместной работы с другими провами я сделал жесткую привязку перехвата к провайдеру с CatalogEntryId = 1001, тоесть стандартному провайдеру TCP/IP
__________________
Я здесь практически не появляюсь!, Skype - ikskor
про абисс я знаю. там чтото станное, сейчас бегаю на шоке 3м. такого не наблюдаю (специфика клиента абиса ? м.б. защита ?)
На абиссе иногда бывает такое, клацаешь бежать куда-нибудь, чар разворачивается и бежит в другую сторону, и показалось окошки отрываются без запроса. Может трафик подпорчивается?
Нет, как раз с одним двумя пакетами и не нужно бы сохранять. Я про то чтобы можно было потом анализ проводить из-за чего сбоит.
сбойнуло - сохранил. не сбойнуло - не сохранил.
данные НИКУДА не денуться. кнопку сохранить можно тыкнуть всегда.
Цитата:
Кстати в рав-логе нет размера пакета - это так и надо?
ты про то как он физически выглядит ? если да - есть там все. все что нужно. Оффтоп
delphi Код:
procedure Ttunel.AddToRawLog(dirrection: byte; var data; size: word);
var
dtime: Double;
beginifnot isRawAllowed thenexit;
RawLog.WriteBuffer(dirrection,1); //направление пакета
RawLog.WriteBuffer(size,2); //длинна пакета (НЕ ПАКЕТА ЛИНЕЙКИ, а порции данных пришедших от сервера или ушедших на сервер)
dtime := now; //время
RawLog.WriteBuffer(dtime,8); //пишем время
RawLog.WriteBuffer(data,size); //пишем саму порцию данныхend;
единственное что следует учесть. что в равлоге. пакеты недекриптованные, и даже не разбитые на порции длинна+данные. это именно то что приходит от сервера и уходит на сервер. в одной порции может быть 1,2,3 или больше пакетов (линейки). либо полпакета линейки пришедшие одним тцп пакетом.
т.е. без обработки вообще.
и нужна эта опция в первую очередь больше для тестирования невхоров. а проверка стабильности приложения - это уже побочный, так сказать бонус.
проверка невхоров.. как ?. просто. береться клиент подопытного сервера, цепляеться на него пакетхак с разрешенным сохранением равлогов и отключеной декриптовкой пакетов. лезем на сервер, тусуемся пока по расчету не наберем достаточное кол-во данных чтобы выяснить правильно ли работает наш невхор. сохраняем равлог. вырубаем клиент.
подгружаем невхор в равлог, подгружаем сам равлог.
происходит перегонка данных через невхор с проверкой того как пакет выглядел до декодирования равхором и как он выглядел после кодирования пакета тем же равхором. в идеале они должны быть идентичны.
если обнаруживаются несответствия они выводяться в лог (номер пакета, пакет до дешифровки, дешифрованый пакет, пакет после шифровки)
это гораздо проще и главное быстрее чем каждый раз подгружать невхор в сам пакетхак и запускать клиент. при этом данные можно обработать, и не путаться (иниткей к примеру будет один и тот же, для проверки с другим иниткеем, повторите действие с созданием равлога, будет другой иниткей.)
главное что все можно будет возпроизвести.
да, эта часть требует доработки, и будет дорабатываться, ибо не совсем удобный просмотр, но пока, первоочередная задача - довести пх по стабильности работы с протоколом линейки до показателей старого пх. проверить скрипты и плугины. а дальше уже мастерить второстепенное.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 04.04.2009 в 16:43.