Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мне надо написать программу, которая фильтровала, пакеты ... 
:(
    Опции темы
Monty
  Дата 20.10.2003, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



но с чего начать не знаю ...... главная задача: поиск и справления содержимого пакета ..... допустим, байт FF заменять на 00 и т.д. ........... как это можно сделать notify.gif ....... в этом я не разбираюсь вообще и с сетью не имел дел в программировании smile.gif ........ да, она должна принимать с одного порта, а отправлять с другого уже обработанный пакет, пока только исходящии пакеты ............ я в этом 0, но это мне нужно smile.gif ........ помогите кто чем может ......


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 20.10.2003, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Так в чем вопрос то? Какая сеть? Какой протокол? Формат пакета?
--------------------
/DVA
PM MAIL WWW   Вверх
Baa
Дата 21.10.2003, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Так а в чем проблема? если приходят на один порт, а должны уходить с другого... с виду вообще плевое дело... открой самые простые исходники клиент-серверных приложений и посмори, как это делается.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Monty
Дата 21.10.2003, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Dmitry @ 20.10.2003, 22:51)
Так в чем вопрос то? Какая сеть? Какой протокол? Формат пакета?

Нужен пример как сделать перенаправление с одного порта на другой, при этом обрабатывать данные
Сеть можно считать LAN
Протокол TCP и нужен будет UDP
Формат пакета любой ........ а заголовки пакета изменять возможно? Так как это тоже может понадобится smile.gif

Baa таких исходников у меня нет smile.gif

Это сообщение отредактировал(а) Monty - 21.10.2003, 03:19


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Baa А если речь о пакетах TCP, UDP, ARP, IPX, или что там еще может по сети летать... Вдруг человека заставили писать маршрутизатор? Тогда еще встанет задача работы с несколькими сетевыми интерфейсами. Вобщем, почти бесконечная тема при данной постановке "вопроса".
--------------------
/DVA
PM MAIL WWW   Вверх
Monty
Дата 21.10.2003, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Dmitry V.Abramov это я для себя smile.gif ........ нужно только TCP и UDP, при этом полность контролировать пакеты, т.е. не только следить за его содержимым, но и за заголовком smile.gif

Есть программы похожие как CommView, Iris Network Analiser и т.д. ...... они позволяют отлавливать пакеты и редактировать их, в том числе и заголоки ........ мне всего лишь надо фильтровать их, можно сказать "налету" smile.gif ..... получая с одного порта, обработывать его (по одному пакету), после чего отсылать .......


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Monty @ 21.10.2003, 03:45)
Dmitry V.Abramov это я для себя smile.gif ........ нужно только TCP и UDP, при этом полность контролировать пакеты, т.е. не только следить за его содержимым, но и за заголовком smile.gif

Это еще терпимо... Главная проблема, пробраться почти на самый нижний уровень TCP-стека, решается с помощью SDK от WinPCap. Остальное - написанием оптимального и очень быстрого кода.
--------------------
/DVA
PM MAIL WWW   Вверх
Dayana
Дата 21.10.2003, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



вот код, который я когда-то писала, используя TWSocket

попробуй что-то типа этого
Код

 UDPSocket  : TWSocket;

 UDPSocket := TWSocket.Create(nil);
 UDPSocket.Proto    := 'udp';
 UDPSocket.Addr     := '100.100.100.100';
 UDPSocket.Port      := 8888;
 UDPSocket.LocalPort := 8888;
 UDPSocket.OnDataAvailable := UDPSocketGetData;
 UDPSocket.Connect;

procedure UDPSocketGetData(Sender: TObject);
var
  vBuf    : array [0..4028] of char;
  BufLen  : Integer;
begin
....
   BufLen := UDPSocket.Receive(@vBuf, 4028);
....
end;


сейчас я модуль wsocket не нашла, хотя думала, что он входит в поставку Делфи... у меня есть wsocket.dcu... если хочешь, вышлю... И завтра поищу исходник...
PM MAIL ICQ   Вверх
Monty
Дата 21.10.2003, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Dayana спасибо .... уже что-то проясняется smile.gif ..... буду очень рад исходнику, а wsocket у меня есть smile.gif

Dmitry V.Abramov не знаю я С smile.gif ..... а там только на нем, а на Дельфи есть?


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dayana
Дата 21.10.2003, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Monty, я имела ввиду исходник wsocket... :-)
PM MAIL ICQ   Вверх
Monty
Дата 21.10.2003, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Dayana @ 21.10.2003, 18:10)
Monty, я имела ввиду исходник wsocket... :-)

Dayana оказывается его у меня нет smile.gif ..... перепутал с winsock smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Monty @ 21.10.2003, 19:06)
Dmitry V.Abramov не знаю я С smile.gif ..... а там только на нем, а на Дельфи есть?

"Врага нужно знать и уважать"... Врядли ты найдешь столь низкоуровневые сетевые вещи, писанные не на С. С другой стороны - там ведь есть готовые DLL! Уж в заголовочых файлах то можно разобрать набор параметров для 2,3,4 интересующих функций...


--------------------
/DVA
PM MAIL WWW   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Dayana @ 21.10.2003, 18:35)
вот код, который я когда-то писала, используя TWSocket
...

Это стандартнейшая посылка UDP-message через Winsocket. Такое есть в любой библиотеке, не только в TWSocket от ICS (piette). TIdUDPClient/TIdUDPServer из Indy - ничем не хуже в этом плане. До пакетов же еще очень далеко.

Работа с сетевыми пакетами лежит гораздо глубже. Там уже нет сокетов. Там порты, заголовки, фреймы, очереди, лешие, водяные... Русалок пока не попадалось.
--------------------
/DVA
PM MAIL WWW   Вверх
Dayana
Дата 21.10.2003, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Dmitry V.Abramov, тем не менее, используя winsocket, я с успехом получаю каждый пакет и обрабатываю его....
PM MAIL ICQ   Вверх
Dayana
Дата 21.10.2003, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Или вот, открывает сокет на получение любых пакетов:

Код


uses WinSock;

   Port    : word;
   HostIP  : string;
   DestIP  : string;
   IpCount : integer;
   RcvPack  : array [0..MAX_PACK_SIZE - 1] of char;
   vWSAData : TWSAData;
   S        : TSocket;
   SockAddr : TSockAddrIn;
   PackLen  : integer;


 FillChar(RcvPack, MAX_PACK_SIZE, #0);
 WSAStartUp(MakeWord(2,2), vWSAData);
 S := Socket(AF_INET, SOCK_RAW, IPPROTO_IP);
 SockAddr.sin_family := AF_INET;
 SockAddr.sin_port := htons(Port);
 SockAddr.sin_addr.S_un_b.s_b1 := IPToBytesByNum(HostIP, 1);
 SockAddr.sin_addr.S_un_b.s_b2 := IPToBytesByNum(HostIP, 2);
 SockAddr.sin_addr.S_un_b.s_b3 := IPToBytesByNum(HostIP, 3);
 SockAddr.sin_addr.S_un_b.s_b4 := IPToBytesByNum(HostIP, 4);
 try
   Bind(S, SockAddr, SizeOf(SockAddr));
   Flag := 1;
   ioctlsocket(S, SIO_RCVALL, Flag);
 except
   CloseSocket(S);
   WSACleanUp;
   Result := -1;
 end;
 Result := 0;

читать пакеты:
     PackLen := recv(S, RcvPack, MAX_PACK_SIZE, 0);


это уже на низком уровне...

Это сообщение отредактировал(а) Dayana - 21.10.2003, 23:15
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0924 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.